【leetcode】83. 删除排序链表中的重复元素

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

删除一个元素的情况比较简单,使用两个指针pre和cur,当pre和cur指向的数值val相等时,代表出现了重复节点,删除之

考虑两个特殊情况,第一个是head为空节点,第二个是head->next为空节点 

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        int count = 1;
        if(head == NULL || head->next == NULL)
            return head;
        ListNode* pre = head;
        ListNode* cur = head->next;
        while(cur != NULL){
        	if(pre->val == cur->val){
        		ListNode* delNode = cur;
        		cur = cur->next;
				pre->next = cur;
				delete delNode;
			}
			else{
				pre = pre->next;
				cur = cur->next;
			}
		}
		return head;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_28038873/article/details/81268170