[Lintcode]35. Reverse Linked List/[Leetcode]206. Reverse Linked List
阿新 • • 發佈:2019-02-12
sin link desc while tps self. ext www. hal
35. Reverse Linked List/206. Reverse Linked List
- 本題難度: Easy
- Topic: Linked List
Description
Reverse a linked list.
Example
Example1:
For linked list 1->2->3, the reversed linked list is 3->2->1
Example2:
For linked list 1->2->3->4, the reversed linked list is 4->3->2->1
Challenge
Reverse it in-place and in one-pass
我的代碼
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def reverseList(self, head): """ :type head: ListNode :rtype: ListNode """ if head is None: return None before = None pos = head while(pos.next): after = pos.next pos.next = before before = pos pos = after pos.next = before return pos
思路
重點是Reverse it in-place and in one-pass。
處理好pos,before,after的關系,理順
註意:
- null
- 時間復雜度 O(n)
[Lintcode]35. Reverse Linked List/[Leetcode]206. Reverse Linked List