比较原字符串与其切片逆序结果,判断是否为回文。
OJ: noi_openjudge
题目 ID: ch0107-33
难度:入门
标签:字符串回文python
日期: 2026-07-30 23:01
题意
判断一个无空白字符串是否为回文。
思路
切片 text[::-1] 得到逆序字符串;两者相等当且仅当原串为回文。
代码
cpp
#include <cstdio>
#include <cstring>
char s1[1005];
int main(){
scanf("%s",s1+1);
int len = strlen(s1+1);
int mid = len /2;
int i;
for(i=1;i<=mid;i++){
if( s1[i] != s1[len+1-i]){
printf("no");
return 0;
}
}
printf("yes");
return 0;
}复杂度
总结
Python代码
python
text = input().strip()
print("yes" if text == text[::-1] else "no")C++代码
cpp
#include <cstdio>
#include <cstring>
char s1[1005];
int main(){
scanf("%s",s1+1);
int len = strlen(s1+1);
int mid = len /2;
int i;
for(i=1;i<=mid;i++){
if( s1[i] != s1[len+1-i]){
printf("no");
return 0;
}
}
printf("yes");
return 0;
}复杂度
时间和额外空间复杂度均为
总结
单次回文判断中,切片逆序比手写双指针更紧凑。