题目描述(简单难度)

给一个链表,删除链表中的给定值。

解法一

遍历一遍去找目标值,将找到的所有节点删除即可。

解法二 递归

也可以用递归,会更好理解一些。但是递归需要压栈,需要消耗一定的空间。

  1. public ListNode removeElements(ListNode head, int val) {
  2. }
  3. if (head.val == val) {
  4. return removeElements(head.next, val);
  5. head.next = removeElements(head.next, val);
  6. return head;
  7. }

主要就是对链表的删除,还有 dummy 指针的使用。

添加好友一起进步~

如果觉得有帮助的话,可以点击 这里 给一个 star 哦 ^^