判断回文 描述: 输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。 输入: 输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。 输出: 如果字符串是回文,输出yes;否则,输出no。 难度: 一般 输入示例: abcdedcba 输出示例: yes 代码类型: C/C++
时间: 2024-03-24 09:40:02 浏览: 210
以下是 C++ 代码实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[101];
cin >> str;
int len = strlen(str);
bool isPalindrome = true;
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len-i-1]) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
return 0;
}
```
首先输入一个字符串,然后计算字符串的长度,接着遍历字符串的前一半,判断前半部分和后半部分是否相等,如果不相等,则该字符串不是回文,否则是回文。最后根据判断结果输出 "yes" 或 "no"。
相关问题
1、回文字符串:输入一个字符串判断该字符串是不是回文字符串.
### Python 实现判断字符串是否为回文
在Python中,可以通过多种方式来判断一个字符串是否为回文串。以下是两种常见的方法:
#### 方法一:双指针法
这种方法通过设置两个指针分别指向字符串的开头和结尾,逐个字符向中心靠拢并对比相应位置上的字符。
```python
def is_palindrome_two_pointers(s: str) -> bool:
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
```
此算法的时间复杂度为O(n),其中n表示输入字符串长度[^1]。
#### 方法二:反转比较法
另一种更简洁的方式就是直接利用Python内置函数`[::-1]`来获取给定字符串的逆序版本,并将其同原始字符串做全等匹配。
```python
def is_palindrome_reverse(s: str) -> bool:
reversed_s = s[::-1
编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。例如,mom,dad是回文串。该程序接收用户输入的字符串,判断是否为回文串,然后将判断的结果输出。 输入格式: 输入在一行中给出一个字符串。 输出格式: 如果输入的字符串为回文串,则输出yes;否则输出no。
以下是Python的代码实现:
```python
s = input() # 获取输入的字符串
if s == s[::-1]: # 判断是否为回文串
print("yes")
else:
print("no")
```
代码说明:
- 第一行代码获取用户输入的字符串并将其存储在变量`s`中;
- 第二行代码使用Python的切片操作`[::-1]`将字符串`s`反转,然后与原始字符串进行比较;
- 如果反转后的字符串与原始字符串相等,则说明它是回文串,输出"yes";否则输出"no"。
阅读全文
相关推荐
















