Remove Duplicates from Sorted List_LeetCode

Description:

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.

 

算法思想:

根据是否相等,直接挪动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* current = head;
    while (current != NULL && current->next != NULL) {
        if (current->next->val == current->val) {
            current->next = current->next->next;
        } else {
            current = current->next;
        }
    }
    return head;
    }
};

 

posted @ 2017-12-04 00:18  SYSU_Bango  阅读(101)  评论(0编辑  收藏  举报