[問題] leetcode 203 linked list移除element
大家好
我有個關於linked list的問題
題目是:
Remove all elements from a linked list of integers that have value val.
Example
Given: 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6
Return: 1 –> 2 –> 3 –> 4 –> 5
-----------------------------
我在Google上找到這題的解法(原諒我初學還需要觀摩其他人的答案..)
https://blog.csdn.net/coder_orz/article/details/51706294
附上程式碼:
def removeElements(self, head, val):
new_head = pre = ListNode(0)
pre.next = head
while head:
if head.val == val:
pre.next = head.next
else:
pre = pre.next
head = head.next
return new_head.next
我不理解的地方是他update pre之後為什麼new_head也會隨之被update?
每次pre = pre.next後pre的長度越來越小,為什麼new_head.next還能給出正確答案呢?
先謝謝大家的解答了!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 173.68.93.212
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1538843012.A.114.html
推
10/07 10:48,
5年前
, 1F
10/07 10:48, 1F
推
10/07 22:59,
5年前
, 2F
10/07 22:59, 2F
→
10/07 23:00,
5年前
, 3F
10/07 23:00, 3F
推
10/08 12:02,
5年前
, 4F
10/08 12:02, 4F
推
10/08 12:15,
5年前
, 5F
10/08 12:15, 5F
推
10/09 07:57,
5年前
, 6F
10/09 07:57, 6F