输入字符串,判断该字符串是否对称。
时间: 2024-09-25 15:15:01 浏览: 25
最大对称字符串的算法
5星 · 资源好评率100%
判断一个字符串是否对称,也称为回文字符串,就是看从前往后读和从后往前读是否完全一样。例如,"level"、"radar" 和 "abba" 都是对称的,而 "hello" 就不是。这里有一个简单的算法:
1. 创建两个指针,一个指向字符串的开始位置(i=0),另一个指向结束位置(j=str.length() - 1)。
2. 比较这两个字符,如果相同,则移动指针向中间靠拢;如果不相同,则返回 false,因为字符串不对称。
3. 当左指针 i 大于等于右指针 j 时,说明已经检查过所有对称的部分,字符串是对称的,返回 true。
下面是一个Python示例实现:
```python
def is_palindrome(s):
s = ''.join(c for c in s if c.isalnum()).lower() # 去除非字母数字并转小写
return s == s[::-1] # 判断反转后的字符串是否与原字符串相等
# 测试
print(is_palindrome("A man a plan a canal Panama")) # 输出:True
print(is_palindrome("hello")) # 输出:False
```
阅读全文