判断回文字符串

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

以上是关于判断回文字符串的主要内容,如果未能解决你的问题,请参考以下文章

字符串处理算法回文判断的算法设计及C代码实现

添加字符判断是否为回文串

Java 判断回文字符串有多少和其中的最大字符串

python编程,回文数判断?

回文判断

判断回文字符串