题解 | #删除有序链表中重复的元素-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;
    }
};
全部评论

相关推荐

沟头学院:无关比赛不要写,这样会显着你主次不分,比赛不要撒谎,有哪些就写那些,创新创业建议删除。技能特长可以适当夸大。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务