leetcode:[206]反转链表
2019-04-19 22:46
645 查看
Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
# Definition for singly-linked list. class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: """ 1->2->3->4->None new_head | None<-4<-3<-2<-1 new_head就是从None开始一直到原来链表的尾。 在反转的时候先记录下一个节点,然后将当前节点反转,然后将更新新的表头,再遍历下一个节点 """ def reverseList(self, head: ListNode) -> ListNode: new_head = None while head: # 记录下一个节点,因为等下反转当前节点之后就会丢失下一个节点 next_node = head.next # 反转当前节点。因为相对于head来说,new_head指向的是head的前一个节点 head.next = new_head # 更新新的表头 new_head = head # 将指针往后移动,这时就需要用到前面记录的节点 head = next_node # 最后new_head就是反转后的表头 return new_head
相关文章推荐
- [LeetCode-206] Reverse Linked List(链表反转)
- 206. 反转链表 [Leetcode] 206. 反转链表 java 迭代和递归
- LeetCode206反转链表
- leetcode206 Reverse Linked List(反转链表)
- 剑指offer 面试题16:反转链表(Leetcode 206: Reverse Linked List) 题解
- C#LeetCode刷题之#206-反转链表(Reverse Linked List)
- LeetCode 206 Reverse Linked List(反转链表)(四步将递归改写成迭代)(*)
- leetcode206-Reverse Linked List-反转链表
- LeetCode探索之旅(60)-206反转链表
- Leetcode 206 反转链表 Java
- leetcode206 反转链表
- 编程集训第2天:LeetCode--环形链表2(142)及单链表反转(206)C++和python代码实现
- LeetCode206——Reverse Linked List 反转链表
- leetcode解题之206 # Reverse Linked List Java版 (使用头插法反转链表)
- 剑指面试题24-反转链表 leetcode 206
- LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)
- scala反转链表 leetcode 206 Reverse Linked List
- LeetCode206: 反转链表
- leetcode206/92---Reverse Linked List I/II(反转链表)
- leetCode 25.Reverse Nodes in k-Group (以k个节点为一组反转链表) 解题思路和方法