移除链表元素-简单
难度:简单
题目描述:
删除链表中等于给定值 **_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
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
2
3
4
5
6
7
8
9
10
11
12
13
← 回文链表-简单 删除链表中的节点-简单 →