提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、基本思路?
(1)思路一:将链表倒置,随后将新形成颠倒的链表和旧链表进行比较,如果每个位置上的值都是一样的则就是回文数
(2)思路二:采用数组,将链表上的值全部取出放入数组之中,之后使用python里的内置函数reverse将整个数组进行颠倒,随后采用循环结构将颠倒后的数组和颠倒前的数组进行比较,如果一致的话,那么就说明是回文数
二、代码详情
1.代码展示
代码如下(示例):
class Solution:
def isPail(self , head: ListNode) -> bool:
# write code here
nums = []
while head:
nums.append(head.val)
head = head.next
temp = nums.copy()
temp.reverse()
for i in range(len(nums)):
if nums[i] != temp[i]:
return False
return True
2.结果展示
结果如下:
总结
主要学习python里的reverse()/append()/copy()函数
(1)reverse()是python列表中的一个内置方法,也就是说,在字典,字符串或者元组中,是没有这个内置方法的,其作用主要是用于反向列表中元素。
语法:list.reverse()
(2)append()函数
用于在列表末尾添加新的对象。
语法:list.append(obj)
(3)Python copy() 函数返回一个数列的浅复制。