【LeetCode每日一题】83. 删除排序链表中的重复元素

2024-1-14

文章目录

      • [83. 删除排序链表中的重复元素](https://leetcode.cn/problems/remove-duplicates-from-sorted-list/)
          • 思路:

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

【LeetCode每日一题】83. 删除排序链表中的重复元素_第1张图片

思路:

1.cur代替头结点移动,不断修改cur的next域的地址值
2.curNext记录cur下一个结点
3.如果cur的值等于curNext的值,改变cur.next的指向
4.不相等,把cur移动到curNext位置
移动curNest的位置

    public ListNode deleteDuplicates(ListNode head) {//删除链表中的重复元素
        if (head ==null){//排除头结点为空的情况
            return null;
        }
        if (head.next==null){
            return head;//只有一个结点的情况
        }
        ListNode cur = head;//代替头结点移动
        ListNode curNest = cur.next;//记录cur的下一个结点

        while (curNest != null){
            if (curNest.val== cur.val){//遇到相同的值,改变next存储的值
                cur.next = curNest.next;
            }else {
                cur = curNest;
            }
            curNest = curNest.next;
        }
        return  head;
    }

点击移步博客主页,欢迎光临~

偷cyk的图

你可能感兴趣的:(LeetCode,leetcode,链表,算法)