判断一个字符串是否回文
2017-04-10 16:28
288 查看
所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。比如”level” 、 “aaabbaaa”
题目:判断一个字符串是否为回文
解法:递归、循环
循环的方法根据传参的不同,分为两种,如下:
循环一
循环二
利用递归实现
测试代码:
题目:判断一个字符串是否为回文
解法:递归、循环
循环的方法根据传参的不同,分为两种,如下:
循环一
bool IsPalindereme(char* str,size_t size) { if(str==NULL || size == 0) return false; for(int idx=0; idx<=size/2; ++idx) { if(str[idx] != str[size-1-idx]) return false; } return true; }
循环二
bool IsPalindereme(char* str,size_t size) { if(str == NULL ||size==0) return false; char* pBegin = str; char* pEnd = str+size-1; while(pBegin < pEnd) { if(*pBegin != *pEnd) return false; ++pBegin; --pEnd; } return true; }
利用递归实现
bool IsPalindereme(char* str,size_t size) { if(str == NULL || str == "") return false; if(0 == size || 1 == size) return true; if(*str != str[size-1]) return false; return IsPalindereme(str+1,size-2); }
测试代码:
void funtest() { cout<<IsPalindereme("1221",4)<<endl; cout<<IsPalindereme("",0)<<endl;//特殊情况 } int main() { funtest(); getchar(); return 0; }
相关文章推荐
- 判断一个字符串是否回文?
- 判断一个字符串是否为回文的非递归算法
- 判断一个数是否为回文数,字符串是否为回文字符串
- 判断一个字符串是否为回文
- 判断一个字符串是否为回文的非递归算法
- 算法基础——判断一个字符串至多添加一个字符之后是否回文
- 编写函数,判断一个字符串是否是回文
- C#--第2周实验--任务7--编写一个控制台应用--判断S所指的字符串是否回文(即顺读和逆读相同的字符串)
- java 记——课本例题,判断一个字符串是否是回文
- C语言:判断一个字符串是否为回问字符串(回文字符串也是一个字符串,但是原字符串和字符串逆序之后一样,比如”abcba","cddc"就是回文字符串
- PHP判断一个字符串是否是回文字符串的方法
- 判断一个字符串(超过80个字符)是否是回文结构(正序和逆序相同)
- 递归判断一个字符串是否回文
- 用栈的思想来判断一个字符串是否是回文数
- 【C语言】判断一个字符串是否为回文字符串。
- java判断一个字符串是否是回文
- 使用bool函数判断一个字符串是否为回文字符串
- 判断一个字符串是否为回文的递归算法
- 判断一个字符串通过变化字符的位置,是否可以组成回文
- 判断一个字符串是否是回文