回文判断(递归)

(回文)回文是前后两个方向拼写完全相同的字符串。编写一个递归函数isPalindrome来判断回文,如果存储在数组中的字符串是一个回文,则返回1,否则返回0.函数应该忽略字符串中的空格和逗号。
 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}

原文地址:https://www.cnblogs.com/iPeterRex/p/1260270.html