移除链表元素-简单

难度:简单

题目描述:
删除链表中等于给定值  **_val _**的所有节点。

示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5


解题思路:
利用递归思路

var removeElements = function (head, val) {
  if (head == null) return null;
  head.next = removeElements(head.next, val);
  return head.val == val ? head.next : head;
};
1
2
3
4
5

循环遍历思路

var removeElements = function (head, val) {
  let newHead = new ListNode(null);
  newHead.next = head;
  var cur = newHead;
  while (cur.next) {
    if (cur.next.val == val) {
      cur.next = cur.next.next;
    } else {
      cur = cur.next;
    }
  }
  return newHead.next;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
最后更新时间: 4/23/2020, 9:10:57 PM