题目
题目详情
反转一个单链表。
示例
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
提示
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
解题代码
代码
class Node:
def __init__(self,value):
self.value = value
self.next = None
class Solution(object):
def __init__(self):
self.head = Node(-1)
def create(self,list):
head = self.head
for i in list:
node = Node(i)
if head.value == -1:
self.head = node
head.next = node
head = head.next
def reverseList(self): #是用多元赋值的方法
header = self.head
temp = None
while header is not None:
temp,temp.next,header = header,temp,header.next
while temp:
print(temp.value,",",end="")
temp = temp.next
return temp
if __name__ == "__main__":
obj = Solution()
list = [1,2,3,4,5,6]
obj.create(list)
obj.reverseList()
运行结果
体会
这个代码在leetcode报错,感觉自己运行的也是正确的,求路过的伙伴指点一下我这个程序媛。这个代码最核心的就是多元赋值。