栈
1 #include <iostream> 2 #include <cstring> 3 4 using namespace std; 5 6 int n, top, mid, next; 7 char a[100010], s[100010]; 8 9 int main(){ 10 cin >> a; 11 n = strlen(a); 12 mid = n / 2 - 1; 13 for(int i = 0; i <= mid; i ++) s[ ++ top] = a[i]; 14 if(n % 2) next = mid + 2; 15 else next = mid + 1; 16 for(int i = next; i <= n - 1; i ++){ 17 if(a[i] != s[top]) break; 18 top --; 19 } 20 if(top == 0) cout << "yes"; 21 else cout << "no"; 22 return 0; 23 }