码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode] 83. Remove Duplicates from Sorted List

时间:2020-02-15 15:24:21      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:for   ret   算法   class   href   duplicate   turn   ted   etc   

1. 原题链接:https://leetcode.com/problems/remove-duplicates-from-sorted-list/

2. 解题思路

  1. 删除链表节点会涉及到两个指针:prev指针和cur指针

3. 算法

  1. prev指针和cur指针分别指向前两个节点
  2. 从cur指向的节点开始循环遍历,当prev和cur的val相同时,将prev指向cur->next节点;否则prev指向cur的节点

4. 实现

struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        if(head == NULL) return head;
        
        ListNode *prev = head;
        for(ListNode *cur = prev->next; cur != NULL; cur = cur->next){
            if(prev->val == cur->val){
                prev->next = cur->next;
            }else{
                prev = cur;
            }
        }
        return head;
    }
};

[LeetCode] 83. Remove Duplicates from Sorted List

标签:for   ret   算法   class   href   duplicate   turn   ted   etc   

原文地址:https://www.cnblogs.com/wengle520/p/12311982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!