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

leetcode-83-Remove Duplicates from Sorted List

时间:2018-04-06 15:21:31      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:class   也有   struct   tno   pre   move   nbsp   lse   head   

题目描述:

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.

 

要完成的函数:

struct ListNode

{
  int val;
  ListNode *next;
  ListNode(int x) : val(x), next(NULL) {}
};

ListNode* deleteDuplicates(ListNode* head) 

 

说明:

这道题目不难,考察的是对于指针的简单操作。要注意的点如下:

1、head指针指的是第一个节点指针。这个指针有可能为NULL,没有指向任何内存空间,因此谈不上有val和next。也有可能指向一个ListNode的变量空间,有val和next的。

2、注意要释放重复的节点空间,不然会造成内存泄漏.

 

代码:

ListNode* deleteDuplicates(ListNode* head) 
{
  ListNode
* t1=head,*t2; if(head==NULL)//空指针特殊处理   return head; while(t1->next!=NULL)//当下一个节点仍然有val的时候继续处理 {
    t2
=t1->next; if(t2->val==t1->val) {
      t1
->next=t2->next; delete t2; } else t1=t2;
  }
  return head;
}

 

leetcode-83-Remove Duplicates from Sorted List

标签:class   也有   struct   tno   pre   move   nbsp   lse   head   

原文地址:https://www.cnblogs.com/king-3/p/8727591.html

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