https://leetcode.com/problems/remove-linked-list-elements/
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
一开始用 recursion 写了个解法,碰到长一点的 input 就超时了。去看了一眼大家的 solution ,虽然每行干的啥能看懂,可和在一起就百思不得其解,好比这个:
def removeElements(self, head, val):
dummy = cur = ListNode(0)
dummy.next = head
while cur and cur.next:
if cur.next.val == val:
cur.next = cur.next.next
else:
cur = cur.next
return dummy.next
明明是操作了cur, 为什么return dummy.next返回的是正确答案呢? p2ex 上高手多,我先谢过了