算法打卡Day7_leetcode _ 83. 删除排序链表中的重复元素

简介: 算法打卡Day7_leetcode _ 83. 删除排序链表中的重复元素

Leetcode原题

83.删除排序链表中的重复元素

20200401134307494.png

思路

这题,看题目以后,其实理解起来还挺简单的。因为它本身是有序的链表结构,要求去除重复的数字。我们只需要判断当前节点的val值和下一节点的val值是否相等。若相等,则跳过下一节点。将当前节点的next指向 它下一个节点的下一个节点就好了。如不相等,则当前节点指向下一节点。

方法一 、迭代删除

public ListNode deleteDuplicates(ListNode head) {
        ListNode p=head;
        if (p==null)return head;
        while ( p.next!=null){
             if (p.val == p.next.val){ //当前节点值等于下一个节点值,则直接跳过下一节点
                 p.next =p.next.next;
             }else {
                 p= p.next;
             }
        }
        return head;
    }

方法二 递归(参考官网)

20200401134307494.png

    public ListNode deleteDuplicates(ListNode head) {
        if (head==null || head.next ==null )return head;
        head.next =deleteDuplicates(head.next);
      return head.val == head.next.val ? head.next: head;
    }

有兴趣的老爷,还可以关注我的公众号【一起收破烂】,回复【006】获取 最新java面试资料以及简历模型120套哦~


相关文章
|
19天前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
31 1
|
23天前
|
算法 索引
❤️算法笔记❤️-(每日一刷-141、环形链表)
❤️算法笔记❤️-(每日一刷-141、环形链表)
39 0
|
23天前
|
算法
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
41 0
|
5天前
|
算法 安全 搜索推荐
2024重生之回溯数据结构与算法系列学习之单双链表精题详解(9)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第2.3章之IKUN和I原达人之数据结构与算法系列学习x单双链表精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
|
5天前
|
存储 Web App开发 算法
2024重生之回溯数据结构与算法系列学习之单双链表【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构之单双链表按位、值查找;[前后]插入;删除指定节点;求表长、静态链表等代码及具体思路详解步骤;举例说明、注意点及常见报错问题所对应的解决方法
|
23天前
|
存储 缓存 算法
经典算法之链表篇(三)
经典算法之链表篇(三)
|
23天前
|
算法
经典算法之链表篇(二)
经典算法之链表篇(二)
|
23天前
|
算法 索引
经典算法之链表篇
经典算法之链表篇
|
23天前
|
算法
❤️算法笔记❤️-(每日一刷-160、相交链表)
❤️算法笔记❤️-(每日一刷-160、相交链表)
16 1
|
23天前
|
算法
❤️算法笔记❤️-(每日一刷-83、删除排序链表中的重复项)
❤️算法笔记❤️-(每日一刷-83、删除排序链表中的重复项)
29 0