判断回文字符串
Posted za-ya-hoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断回文字符串相关的知识,希望对你有一定的参考价值。
题目
使用字符数组存储一段字符,判断是否是回文字符串(需要判断并忽略空格)
分析
使用递归就能很好的实现
实现
代码
#include<iostream>
using namespace std;
bool huiwen(char c[], int low, int high) {
if (low > high) //到达终点,说明之前的判断都通过了,确实是回文,停止判断
return true;
else if (c[low] == c[high]) //这个两个相等继续递归判断,注意此情况包括两个都是空格的情况
return huiwen(c, low + 1, high - 1);
else if (c[low] == ‘ ‘) //碰到空格,跳过
return huiwen(c, low + 1, high);
else if (c[high] == ‘ ‘) //碰到空格,跳过
return huiwen(c, low, high - 1);
else if (c[high] != c[low]) //不相等,返回false
return false;
}
int main() {
char c[] = { "asdf ds a" };
cout << huiwen(c, 0, 8);
return 0;
}
输入
abcdc ba
a cdcba
输出
1
0
以上是关于判断回文字符串的主要内容,如果未能解决你的问题,请参考以下文章