Leetcode82删除排序链表中重复元素2

代码:

为了找到结果的head 可以在head前加一个dummy dummy->head 再顺序去重

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if(head==null)return head;
        // while(head.next!=null&&head.val==head.next.val){
        //     while(n1!=null&&n1.next!=null&&n1.val==n1.next.val){
        //         if(n1.next.next!=null){
        //             head=n1.next.next;
        //         }else{
        //             return null;
        //         }
        //         n1=n1.next;
        //     }
        // }
        if(head.next==null)return head;
        ListNode dummy = new ListNode(0,head);
        ListNode n1 = dummy;

        while(n1.next!=null&&n1.next.next!=null){
            ListNode n2 = n1.next;
            ListNode n3 = n1.next.next;
            if(n2.val==n3.val){
                while(n2.val==n3.val){
                    n2 = n3;
                    n3 = n3.next;
                    if(n2==null||n3==null){
                        n1.next=null;
                        break;
                    }else{
                        n1.next = n3;
                    }                    
                }
            }else{
                n1=n1.next;
            }
        }
        return dummy.next;
    }
}
相关推荐
R-G-B21 小时前
归并排序 (BM20 数组中的逆序对)
数据结构·算法·排序算法
少许极端21 小时前
算法奇妙屋(十二)-优先级队列(堆)
数据结构·算法·leetcode·优先级队列··图解算法
kupeThinkPoem1 天前
哈希表有哪些算法?
数据结构·算法
爬山算法1 天前
Redis(127)Redis的内部数据结构是什么?
数据结构·数据库·redis
ShineWinsu1 天前
对于数据结构:链式二叉树的超详细保姆级解析—中
数据结构·c++·算法·面试·二叉树·校招·递归
合方圆~小文1 天前
高性能20倍变焦球机转动功能监控设备
数据结构·数据库·数码相机·模块测试
这周也會开心1 天前
Map的遍历方式
数据结构·算法
liu****1 天前
20.传输层协议TCP
服务器·网络·数据结构·c++·网络协议·tcp/ip·udp
前端小L1 天前
图论专题(二):“关系”的焦点——一眼找出「星型图的中心节点」
数据结构·算法·深度优先·图论·宽度优先
叫我龙翔1 天前
【数据结构】从零开始认识B树 --- 高效外查找的数据结构
数据结构·c++·b树