在实现JS版本之前我有实现过Java版本,很奇怪为什么discussion里面大多数JS版本的解法都没有用dummy node。
1 /** 2 * @param {ListNode} head 3 * @param {number} val 4 * @return {ListNode} 5 */ 6 var removeElements = function(head, val) { 7 if (head === null) return head; 8 let dummy = new ListNode(0); 9 dummy.next = head; 10 let cur = dummy; 11 while (cur.next != null) { 12 if (cur.next.val === val) { 13 cur.next = cur.next.next; 14 } else { 15 cur = cur.next; 16 } 17 } 18 return dummy.next; 19 };