题目描述
若一个字符串的正序与倒序相同,则称其为回文字符串;现在给定一个字符串,使用递归的方法,判断他是否是回文字符串。
输入描述
字符串,长度不超过100000;
输出描述
若是,则输出"Yes."
若不是,则输出"No."
样例输入
abcadacba
样例输出
Yes.
#include "pch.h"
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
bool judge(int left, int right);
std::string s;
int main()
{
cin >> s;
if (judge(0, s.size() - 1))
{
cout << "Yes." << endl;
}
else
{
cout << "No." << endl;
}
return 0;
}
bool judge(int left, int right)
{
if ((left == right + 1) || (left == right)) return true;
if (s[left] == s[right])
{
left++;
right--;
judge(left, right);
}
else
{
return false;
}
}