LeetCode每日刷题:删除排序链表中的重复元素

本文介绍了如何解决一道编程问题,即删除一个升序排列链表中的所有重复元素,保持结果链表依然有序。解题思路是通过遍历链表,当遇到值相同的连续节点时,直接跳过。建议在做此类题目时,先复习链表基本操作,并尝试自己编写链表节点类。提供的代码实现展示了如何完成这一任务。
摘要由CSDN通过智能技术生成

题目:

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 解题思路:如果当前节点的值等于下一个节点的值,只需要将当前节点的next等于下一个节点的next即可。

笔者建议:这道题虽然很简单,但是如果长时间不接触,容易忘记一些详细步骤,所以笔者建议在写该题时先复习复习链表的基本操作。还有题目中给的class ListNode自己默写一遍看能不能写出来,如果题目中需要自己编写,是否可以写出来。

代码实现:

class Solution {
 public ListNode deleteDuplicates(ListNode head) {
        ListNode cur = head;
        if (head==null)return null;
        while (cur.next!=null){
            if (cur.val==cur.next.val){
                cur.next=cur.next.next;
            }
            else{
                cur=cur.next;
            }
        }

        return head;
    }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值