递归回文功能

时间:2016-10-28 17:28:24

标签: palindrome recursive-datastructures

递归回文函数 这是我解决问题的方法 在我的解决方案中有一个错误包装,而不是回文部分不打印

#include<iostream>
#include<cstring>
using namespace std;

bool ispalindrome( char string1[],int length);
int main()
{
  string word;
  cout<<"Enter a word: ";
  cin>> word;

   if(ispalindrome)
     cout<<"The input word is palindrome";
   else
     cout<<"The input word is NOT palindrome";

   return 0;
    }

  bool ispalindrome( char string1[],int length)
   {

if(length<=1)
    return true;
if ((*string1)==string1[length-1])
return ispalindrome(string1+1, length-2);

else return false;

}

1 个答案:

答案 0 :(得分:0)

您需要在ispalindrome(word, strlen(word))语句中调用方法if

所以看起来应该是这样的

if (ispalindrome(word, strlen(word)) {
  cout << word << " is a palindrome" << endl;
} else {
  cout << word << " is not a palindrome" << endl;
}

此外,请保持与您的类型一致。 word应该是char数组,而不是string