1int isPalindrome( char array[], int size )
2{
3 if ( size <= 1 )
4 return 1;
5 if ( array[0] == array[ size - 1 ] )
6 {
7 return isPalindrome( array + 1, size - 2 );
8 }
9 /*
10 忽略数组中的空格和逗号
11 */
12 else
13 {
14 if( ( array[ 0 ] == ' ' || array[ 0 ] == ',' ) &&
15 ( array[ size - 1] == ' ' || array[ size - 1 ] == ',' ) )
16 {
17 return isPalindrome( array + 2, size - 2 );
18 }
19 else if( ( array[ 0 ] == ' ' || array[ 0 ] == ',' ) &&
20 !( array[ size - 1] == ' ' || array[ size - 1 ] == ',' ) )
21 {
22 return isPalindrome( array + 2, size - 1 );
23 }
24 else if( !( array[ 0 ] == ' ' || array[ 0 ] == ',' ) &&
25 ( array[ size - 1] == ' ' || array[ size - 1 ] == ',' ) )
26 {
27 return isPalindrome( array + 1, size - 2 );
28 }
29 }
30
31 return 0;
32}
2{
3 if ( size <= 1 )
4 return 1;
5 if ( array[0] == array[ size - 1 ] )
6 {
7 return isPalindrome( array + 1, size - 2 );
8 }
9 /*
10 忽略数组中的空格和逗号
11 */
12 else
13 {
14 if( ( array[ 0 ] == ' ' || array[ 0 ] == ',' ) &&
15 ( array[ size - 1] == ' ' || array[ size - 1 ] == ',' ) )
16 {
17 return isPalindrome( array + 2, size - 2 );
18 }
19 else if( ( array[ 0 ] == ' ' || array[ 0 ] == ',' ) &&
20 !( array[ size - 1] == ' ' || array[ size - 1 ] == ',' ) )
21 {
22 return isPalindrome( array + 2, size - 1 );
23 }
24 else if( !( array[ 0 ] == ' ' || array[ 0 ] == ',' ) &&
25 ( array[ size - 1] == ' ' || array[ size - 1 ] == ',' ) )
26 {
27 return isPalindrome( array + 1, size - 2 );
28 }
29 }
30
31 return 0;
32}