LeetCode 206 _ 反转链表
1. 题目描述
2. 代码
1 class Solution: 2 def reverseList(self, head: ListNode) -> ListNode: 3 temp = ListNode(-1) 4 while head != None: 5 nextnode = head.next #保存当前节点的next 6 head.next = temp.next #修改当前节点的next为前一个节点,即修改链接指向前一个节点 7 temp.next = head #修改temp指向当前节点 8 head = nextnode #head节点往后移一位 9 return temp.next
思路:
1. 先定义一个temp, 然后temp.next指向none.
2. 然后保存当前节点到下一个节点的链接, 也就是nextnode=head.next.
3. 然后让当前节点head指向temp.next, 也就是none, 这一步就是修改了链接, 指向前一个节点.
4. 然后再让temp.next指向当前的head节点, 也就是下一次要指向的节点.
5. 最后再把head往后移一位, 这样一次循环就完成了.
以下2张图片为解题过程.