删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
思路:
用一个pre保存上一个指针,当相等时,pre.next指向当前指针的next,不等时pre指向当前head
复杂度分析:
时间复杂度O(n)
空间复杂度O(1)
var removeElements = function(head, val) {let ans = new ListNode();if(!head) return head;ans.next = head;let pre = ans ;while(head){if(head.val === val){pre.next = head.next}else{pre = head;}head = head.next;}return ans.next;};
