题解 | #删除有序链表中重复的元素-I#

删除有序链表中重复的元素-I

https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79

双指针解法

当前指针和next指针比较val,

相等则当前指针指向后两位,next指针向后迭代。

不相等则双指针直接向后迭代
class Solution {
public:
    /**
     * 
     * @param head ListNode类 
     * @return ListNode类
     */
    ListNode* deleteDuplicates(ListNode* head) {
        // write code here
        //排除不需要删除的元素
        if(head==nullptr||head->next==nullptr){
            return head;
        }
        //双指针
        ListNode* cur = head;
        ListNode* next = head->next;
        //迭代
        while(next){
            if(cur->val == next->val){
                cur->next = next->next;
                if(next->next){
                    next = next->next;
                }else{
                    break;
                }
            }else{
                cur = next;
                next = next->next;
            }
        }
        return head;
    }
};
全部评论

相关推荐

让资本家给我当牛做马:26的秋招还没开始啊?你找的是实习?实习的话你马上就研三了为什么还要实习?
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务