leetcode第一刷_Remove Duplicates from Sorted List II
2014-05-10 09:59
330 查看
删掉链表中的重复节点,如果是所有val只保留一份的话很简单,如果要把重复的val的节点都删掉的话,需要保存pre节点,每当遇到这种要保存pre节点的问题,就该注意head节点可能会被删除,边界控制好就没问题了。
class Solution { public: ListNode *deleteDuplicates(ListNode *head) { if(head == NULL || head->next == NULL) return head; ListNode *pre = NULL, *start = head, *end; while(start){ while(start&&start->next&&start->val != start->next->val){ pre = start; start = start->next; } end = start; while(end&&end->next&&end->val == end->next->val) end = end->next; if(end!=start&&end){ if(pre) pre->next = end->next; else{ head = end->next; } }else{ break; } start = end->next; } return head; } };
相关文章推荐
- spring框架整合使用定时任务框架java quartz的示例代码配置
- 我是一个好人
- oracle 物化视图
- reverseNnumber 几种方法
- 富文本编辑器-ueditor基本配置
- OpenCV 环境搭建( Win7 32位 / VS2010 / OpenCV2.4.8 )
- hust 1013 Grid
- unity3d中布娃娃系统
- 定制iOS 7中的导航栏和状态栏
- 在smarty中使用if else
- C++STL_set中函数_集合运算
- 修改adb devices的设备ID/设备号
- 数据库架构的一些问题
- 以旧换新,iPhone5s免费拿
- const char* 转QString错误
- hadoop作业调优参数整理及原理
- U3D实现与iOS交互
- form的text设置默认值
- IEEE论文格式检查
- ACE框架的三大部分