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

LintCode - Remove Duplicates from Sorted List

时间:2015-07-24 22:45:30      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:lintcode   leetcode   

LintCode - Remove Duplicates from Sorted List

http://www.lintcode.com/en/problem/remove-duplicates-from-sorted-list/

Description

Given a sorted linked list, delete all duplicates such that each element appear only once.
Example
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.

Code - C++

/**
 * Definition of ListNode
 * class ListNode {
 * public:
 *     int val;
 *     ListNode *next;
 *     ListNode(int val) {
 *         this->val = val;
 *         this->next = NULL;
 *     }
 * }
 */
class Solution {
public:
    /**
     * @param head: The first node of linked list.
     * @return: head node
     */
    ListNode *deleteDuplicates(ListNode *head) {
        // write your code here
        ListNode* current = head;
        ListNode* next_next;
        if (current == NULL) {
            return NULL;
        }
        while (current->next != NULL) {
            if (current->val == current->next->val) {
                next_next = current->next->next;
                delete current->next;
                current->next = next_next;
            } else {
                current = current->next;
            }
        }
        return head;
    }
};

Tips

Algorithm:
Traverse the list from the head (or start) node. While traversing, compare each node with its next node. If data of next node is same as current node then delete the next node. Before we delete a node, we need to store next pointer of the node

版权声明:本文为博主原创文章,未经博主允许不得转载。

LintCode - Remove Duplicates from Sorted List

标签:lintcode   leetcode   

原文地址:http://blog.csdn.net/lionpku/article/details/47046951

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