Description
A palindrome is a symmetrical string, that is, a string read the same from left to right as from right to left. You are asked to write a program which, given a string, determines whether it is a palindrome or not.
Input
The first line contain a single integer T, indicates the number of test cases.
T lines follow, each line contain a string which you should judge. The length of the string is at most 1000.
Output
Print one line for each string, if it is a palindrome, output “YES”, else “NO”.
Sample Input
2 aba ab
Sample Output
YES NO
代码:
#include<iostream>
#include<cstring>
//Palindrome CSU - 1029
using namespace std;
int main()
{
int num;
cin >> num;
//char pchar[1000];
while(num--)
{
char pchar[1000];//可以放到循环外声明
//char *pchar = new char[1000];最多1000万?
//cin.getline(pchar, 1000);用函数控制调用的时间
cin >> pchar;
int low = 0, high = strlen(pchar) - 1;
bool isPalindrome = true;//或者在外面声明
while(low<high)//或者用for循环一半
{
if (pchar[low] != pchar[high])
{
isPalindrome = false;//单独给布尔值写判断不值当
//cout << "NO" << endl;
break;
}
low++;
high--;
}
if (isPalindrome) cout << "YES" << endl;
else cout << "NO" << endl;
//delete[]pchar;
}
return 0;
}