题目: 递归实现,判断给定字符串是否是回文串。
思路: 首先判断给定字符串首尾字符是否相等,若相等,则判断去掉首尾字符后的字符串是否为回文,若不相等,则该字符串不是回文串。
代码:
bool isReverseSame(const char* str ,int strlen){
if(strlen==0 || strlen==1)
return true;
return ((str[0]==str[strlen-1]) ? isReverseSame(str+1 , strlen-2) : false);
}
或者
bool isReverseSame(const char*str , int begin ,int end){//调用时isReversSame(str, 0 ,strlen-1);
if(strlen==0 || strlen==1)
return true;
if(str[begin]==str[end])
return isReverseSame(str ,begin+1, end-1);
return false;
}