删除排序链表中的重复数字 II
2016-01-14 00:11
316 查看
/** * 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||head->next==NULL){ return head; } ListNode *dummynode = new ListNode(0); dummynode->next = head; ListNode *p = dummynode; while(p->next != NULL && p->next->next != NULL){ if (p->next->val == p->next->next->val){ int value = p->next->val; p->next = p->next->next->next; while (p->next != NULL && p->next->val == value ){ //p->next->val == value && p->next != NULL 这个顺序就不行 p->next = p->next->next; } } else p = p->next; } return dummynode->next; } };对于第二个while中的判断条件,&&左边必须先放入p->next!=NULL进行判断,否则若p->next==NULL,并且先判断p->next->val==value,这时系统会报错。
相关文章推荐
- Linux中的特殊文件-/dev/zero
- java--匿名内部类
- kb
- Manhattan distance(for lab)
- Python实现BWT算法()
- 程序启动和运行过程
- 插件制作入门
- WPF模板
- 【iOS开发】类簇--抽象工厂模式在OC中的使用
- 百炼OJ1002
- java--静态属性和非静态属性的赋值与取值
- java--内部类(局部)
- java-- 静态内部
- [看书日记20160114]RemoteViews , 动态加载, JNI , NDK ;
- 修复GridView的item没有被撑开的问题
- leetcode237---Delete Node in a Linked List(删除指定节点)
- poj-3041-匈牙利算法模板
- java接口,private,final,static组合(课堂)
- kuangbin_ShortPath O (LightOJ 1074)
- 魔兽世界私服Trinity,从源码开始