已知一个整数列表,判断列表内容是否为回文,即无论正序还是倒序,列表的内容是否相同。
时间: 2024-09-14 07:16:32 浏览: 49
js代码-判断一个整数是否是回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗?
判断一个整数列表是否为回文,你可以通过比较列表的原序和反序是否相等来实现。以下是一个简单的步骤:
1. 首先,创建两个指针,一个指向列表的开始(index = 0),另一个指向列表的结束(index = len(list) - 1)。
2. 然后,逐次比较这两个指针所指向的元素,如果它们不相等,则列表不是回文;如果它们相等,就将两个指针分别向中间移动一位,并继续这个过程。
3. 当两个指针相遇或者交叉时(即其中一个指针小于等于另一个),如果还没有发现不相等的元素,那么列表就是回文。
下面是一个Python示例代码:
```python
def is_palindrome(lst):
start, end = 0, len(lst) - 1
while start < end:
if lst[start] != lst[end]:
return False
start += 1
end -= 1
return True
# 测试示例
numbers = [1, 2, 3, 4, 5]
print(is_palindrome(numbers)) # 输出False
numbers = [1, 2, 3, 2, 1]
print(is_palindrome(numbers)) # 输出True
```
阅读全文