203.移除链表元素
解题思路
对于链表不是很了解用代码怎么写。
参考官方答案,思路是:
用递归的思路求解,对每个节点调用removeElements,并在函数里根据节点val判断,如果是null就返回null,如果是给定值就返回当前节点的下一个节点,不是则返回当前节点。
此时递归里就是判断head的值。
JavaScript解法代码
var removeElements = function(head, val) {
if (head === null) {
return head;
}
head.next = removeElements(head.next, val);
return head.val === val ? head.next : head;
};
总结:
JS中链表的定义:
class ListNode {
val;
next = null;
constructor(value) {
this.val = value;
this.next = null;
}
}