LintCode-删除排序链表中的重复数字 II
2015-08-08 15:54
120 查看
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出1->2->3->3->4->4->5->null,返回1->2->5->null
给出1->1->1->2->3->null,返回 2->3->null
标签 Expand
分析:因为是排序链表,所以每次判断和后面的是不是一样就行,一样就一直把这个相同的遍历到不同的点
代码:
您在真实的面试中是否遇到过这个题?
Yes
样例
给出1->2->3->3->4->4->5->null,返回1->2->5->null
给出1->1->1->2->3->null,返回 2->3->null
标签 Expand
分析:因为是排序链表,所以每次判断和后面的是不是一样就行,一样就一直把这个相同的遍历到不同的点
代码:
/** * 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 ListNode dummy(-1); ListNode* temp = &dummy; while(head) { if(head->next) { bool same = false; while(head->next&&head->next->val==head->val) { same = true; head = head->next; } if(!same) { temp->next = new ListNode(head->val); temp = temp->next; } head = head->next; } else { temp->next = head; head = head->next; } } return dummy.next; } };
相关文章推荐
- 剑指offer刷题之c++实现的树的子结构
- scala实现设计模式之抽象工厂方法
- [leedcode 229] Majority Element II
- JSF 入门教程
- 随机快排
- 总得写点什么吧
- 巧用array_map()和array_reduce()替代foreach循环
- Android控件详解之惰性装载控件
- 用友T6客户端点击系统管理admin.exe,一直无响应
- hdu-3416-Marriage Match IV-(求最小割)-网络流模板
- git基本命令
- js 中文乱码
- 大学生应对面试宝典(电话、现场面试)
- floyd算法(循环问题)
- iOS sdwebimage 特殊图片错误的问题
- HDU 1874 畅通工程续
- POJ 1789 ruck History
- ACM比赛
- scala实现抽象工厂
- Socket连接与HTTP连接