题意:删掉单链表里重复的节点,如:
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.

思路:真的真的是很简单的题啊,但是有个陷阱,也怪自己练的太少,都忘记了这个。思路其实就是判断如果p->val == p->next->val就删掉p->next节点,如果新的p->next的值与p的值不相等则往后移动。这里的判断条件有两个,

一个是p->val != p->next->val,一个是p->next != NULL。

代码:

ListNode* deleteDuplicates(ListNode* head)
{
ListNode* p = head;
if(head == NULL || head->next == NULL)
return head;
while(p->next != NULL)
{
if(p->val == p->next->val)
{
ListNode* temp = p->next;
p->next = p->next->next;
free(temp);
}
if(p->next != NULL && p->val != p->next->val)
{
p = p->next;
}
}
return head;
}

最新文章

  1. 20145224&20145238 《信息安全系统设计基础》 第三次实验
  2. JMS总结
  3. C++中不同数据类型的互相转换
  4. IOS 网络浅析-(十 NSURLSession下载简介)
  5. 【MVC】关于Action返回结果类型的事儿(下)
  6. 7-Highcharts曲线图之分辨带
  7. PHP-Wamp集成包安装教程
  8. C# Socket通信 小案例
  9. Windows NTService 后台框架封装
  10. 【知识整理】这可能是最好的RxJava 2.x 入门教程(三)
  11. Javascript之布尔
  12. HTML5结合CSS的三种方法+结合JS的三种方法
  13. Java根据年龄段获取对应年份起始时间戳和最终时间戳、根据生日时间戳获取月份(与数据库的时间戳处理成的月份拼接成SQL条件)
  14. PAT A1052 Linked List Sorting (25 分)——链表,排序
  15. 20165313 《Java程序设计》第八周学习总结
  16. Kettle入门
  17. #HTML 块级、内联、内联块级元素
  18. Android ListView理解之BaseAdapter
  19. 20155327李百乾《网络对抗》逆向及Bof基础
  20. jeesite快速开发平台(四)----数据库各表一览

热门文章

  1. C&C++——段错误(Segmentation fault)
  2. 1040: [ZJOI2008]骑士~基环外向树dp
  3. border-1px;避免移动端下边框部分2px
  4. SVN 服务器安装及配置(WIN7)
  5. js中Date()对象详解
  6. Sencha Touch MVC 中 store 的使用
  7. 转:Nginx国人开发缩略图模块(ngx_image_thumb)
  8. HDU2066一个人的旅行---(多起点多终点最短路径)
  9. 【BZOJ2527】【POI2011】Meteors [整体二分]
  10. 【洛谷 P3306】[SDOI2013]随机数生成器 (BSGS)