题解
2024-12-16 22:47:52
发布于:广东
17阅读
0回复
0点赞
每次取出第一个字符放到最后一个,判断是不是回文即可.
string没有pop_front有点烦……
#include <iostream>
#include <cstdio>
using namespace std;
int a[100005];
string s;
int main(){
cin.tie(nullptr) -> sync_with_stdio(0);
cout.tie(nullptr) -> sync_with_stdio(0);
cin >> s;
for(int i = 0; i < s.length(); i++){
bool flag = 0;
for(int j = 0; j < s.length(); j++){
if(s[j] != s[s.length() - j - 1]){
flag = 1;
break;
}
}
if(!flag){//如果是环形回文串就输出Yes
cout << "Yes";
return 0;
}
s = s.substr(1, s.length() - 1) + s[0];
}
cout << "No";
return 0;
}
时间复杂度:.
全部评论 1
用deque<char>吧哈哈
昨天 来自 广东
0但是这样难判回文
昨天 来自 广东
0啊?deque不也有dq[i]这样的吗
昨天 来自 广东
0没有吧,只有front,back吧
昨天 来自 广东
0
有帮助,赞一个