我:
/*
回文数组 倒过来 和正过来的都是一样的
题目要求:第一行输入n代表有n个数据 0<n<=100
第二行 表示n个正整数 如果满足回文则输出yes 否则no
*/
int n=0;
int a[100] = {0};
cin >> n;//接收n个数据
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
string flag = "Yes";
if (n != 1) {
int bs = n / 2;
for (int i = 0; i < bs; i++)
{
if (a[i] != a[n - 1 - i]) {
flag = "No";
break;
}
}
}
cout << flag << endl;
return 0;
大佬:
// 回文数组
int a[105] = {0};
bool flag = true; // 假设当 flag = true 的时候,代表 a 是回文数组
// 起始时,假设 a 就是回文数组
int n;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> a[i];
}
int j = n - 1;
for(int i = 0; i <= n/2; i++) {
if(a[i] != a[j]) {
flag = false;
break;
}
j--;
}
if(flag) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
总结对比:
两个差不多一样