您的位置:首页 > 其它

lintcode 112 删除排序链表中的重复元素

2017-03-31 17:33 274 查看
1.给定一个排序链表,删除所有重复的元素每个元素只留下一个。

2.思路:判断当前节点和next节点的关系,若相同则删除后一节点,同事temp后移,继续比较节点的关系

3.通过的代码

/**

 * 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

          if(head==NULL){return NULL;}

        ListNode *temp=head;

        while(temp->next!=NULL){

            if(temp->val!=temp->next->val){temp=temp->next;}

        else{temp->next=temp->next->next;}

        }

        return head;

    }

};

4.感想.

这个代码参考了同学的代码.虽然心中早有构思,但是基础太差写不出来.看了同学的以后感觉好简单,记住了这个方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: