算法题:删除链表中的节点

380 阅读1分钟

题目描述

删除链表中的节点

image.png

我是先自己做了下,然后看了点赞最高的题解发现自己写的递归解法要更简单一些,拿上来与大家分享。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode deleteNode(ListNode head, int val) {
        if (head.val == val) return head.next;
        head.next = deleteNode(head.next, val);
        return head;
    }
}

是的,只有三行,运用递归的解法比题解中的双指针简便了不少。有兴趣的可以去看下其他解法。

吐槽:刚开始刷了几天算法,还是什么都不会,好不容易做出来一道,发现比题解的还要简单,开始怀疑人生了_(:з」∠)_