【算法笔记(三)】之对称字符串(回文串)


老规矩–妹妹镇楼:

一. 对称字符串(回文串)

一个字符串正读和反读都是一样的,称为对称字符串(回文串)。如noon,12321。

二. 实例

(一)题目:

读入一个字符串,判断是否为 “回文串”。如果是,输出YES,如果不是,输出NO。

(二)输入格式:

noon

(三)输出格式:

YES

(四)思路:

对称的字符串,说明前面一部分和后面一部分是一样的,那么我们只需要分析前面一部分的字符串,然后与后面一部分字符串逐个对比。即第一个string[0]和string[string.size()-1]对比,看是否相等。

(五)代码:


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

bool isDou(string s)
{
          
   
	int len = s.size();
	for (int i = 0; i < len / 2; ++i)
	{
          
   
		if (s[i] != s[len - i - 1])
		{
          
   
			return false;
		}
	}
	return true;

}

int main()
{
          
   
	string s1;
	cin >> s1;
	if (isDou(s1))
	{
          
   
		cout << "YES";
	}
	else
	{
          
   
		cout << "NO";
	}
	return 0;
}
经验分享 程序员 微信小程序 职场和发展