今天来总结下关于链表的反转操作
目录:
- 206 Reverse Linked List
- 92 Reverse Linked List II
解读:这道reverse操作,我们采用two pointers的做法,这是非常常用于链表的一种解法。pre设为None,cur作为head的代替reference。这里的话我们对需要进行一下的思维:
1. cur.next 需要转换为之前的 cur.next = pre
2. 对pre和cur进行更新 pre = cur
cur = 原来的cur.next
3.这里的需要注意一个地方 cur.next 因为进行改变所以我们需要用一个变量来保存
4, 最后return 什么,这里我的思路是我们考虑的是while cur,所以最后应该返回的pre
class ListNode(object):
def __init__(self, val=0):
self.val = val
self.next = None
class Solutio