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

地址 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例 1:

输入: 1->1->2
输出: 1->2
示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

  

由于是 排序链表  那么只要比较当前和下一个元素的值比较 决定删除与否 

同样 还是注意边界问题

code

/**
 * 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* p = head;
        while(p != NULL){
            if(p->next!=NULL&& p->val == p->next->val){
                p->next = p->next->next;
            } else{
                p=p->next;
            }
            
        }     
        return head;     
    }
};

 

posted on 2019-11-24 17:56  itdef  阅读(154)  评论(0编辑  收藏  举报

导航