题目:回文判定(蓝桥OJ 1371)
题目描述:
解题思路:
可以采用双指针判断(这里说的指针其实是用下标表示)。
题解:
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 9;//注意大小
char s[N];//在全局写,默认内部为空字符
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消输入输出同步流,加快运行速度
cin >> s + 1;
int l = 1, r = strlen(s + 1);//strlen()不会读取空格**
//使用char数组,就不能使用s.length()和getline(cin, s),因为不是string内的函数**
bool ans = true;
while(l < r && ans)//这样写更简洁
{
if(s[l] == s[r])
{
l++;r--;
}else ans = false;
}
cout << (ans ? "Y" : "N");//注意需要输出的是Y或N,可以采用三目运算
return 0;
}