zoukankan      html  css  js  c++  java
  • leetcode 82 删除排序列表中的重复元素II

    与83类似,不过需要注意去除连续的重复片段的情况,如2 2 3 3这种情况,以及【1,1】这种情况下最终的cur为NULL,因此不能再令cur=cur->next;

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode* deleteDuplicates(ListNode* head) {
            ListNode *pre, *cur, *ahead;
            pre=ahead=new ListNode(-1);
            cur=head;
            while(cur!=NULL){
            //去除连续重复片段
    while(cur!=NULL && cur->next!=NULL && cur->next->val==cur->val){ while(cur->next!=NULL && cur->next->val==cur->val){ cur=cur->next; } cur=cur->next; }
             pre
    ->next=cur; pre=cur; if(cur!=NULL) cur=cur->next;//去除cur==NULL的情况
    } return ahead->next; } };

  • 相关阅读:
    一个Fragment的实例
    使用LayoutInflater添加一个布局引用
    11F:42点
    11E:分形盒
    11D:猴子摘桃
    11C:寻找边缘
    11B:夺宝探险
    10J:判断整除
    11A:篮球联赛
    10I:核电站
  • 原文地址:https://www.cnblogs.com/joelwang/p/11017699.html
Copyright © 2011-2022 走看看