回文拼接?小case拿下
#include <iostream>
#include <string>
using namespace std;
// 判断一个字符串是否是回文
bool ishui(const string& a) {
int n = a.length();
for (int i = 0, j = n - 1; i < j; i++, j--) {
if (a[i] != a[j]) return false;
}
return true;
}
int main() {
int n;
string a;
cin >> n;
while (n--) {
cin >> a;
int l = a.length();
bool found = false;
for (int i = 2; i <=l - 2; i++) {
string left = a.substr(0, i);
string right = a.substr(i, l - i);
if (ishui(left) && ishui(right)) {
cout << "Yes" << endl;
found = true;
break;
}
}
if (!found) {
cout << "No" << endl;
}
}
return 0;
}
这里也运用到了调用函数,所以,将每个知识点,每个函数用法融汇贯通,能够熟练使用这些才是真理!!还有每天勤加练习才是真,不让手生,也能让自己的思维更加灵活,跳脱,并且更加熟练与题型。