【算法笔记(三)】之对称字符串(回文串)
老规矩–妹妹镇楼:
一. 对称字符串(回文串)
一个字符串正读和反读都是一样的,称为对称字符串(回文串)。如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;
}
