面试题57:删除链表中的重复节点
来源:互联网 发布:nba全明星赛数据 编辑:程序博客网 时间:2024/04/30 03:21
题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。
代码如下:
<pre name="code" class="cpp" style="color: rgb(51, 51, 51); font-size: 14px; line-height: 22.4px;">struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};class Solution {public: ListNode* deleteDuplication(ListNode* pHead) { if(pHead == NULL) return NULL; ListNode *pre = new ListNode(0); ListNode *slow = pre; slow->next = pHead; ListNode *fast = slow->next; bool sign = false; ListNode *temp = NULL; while(fast != NULL && fast->next != NULL) { if(fast->val == fast->next->val) { temp = fast->next; delete fast; fast = NULL; fast = temp; sign = true; } else { if(sign) { slow->next = fast->next; fast = fast->next; sign = false; } else { slow = fast; fast = slow->next; } } } if(fast->next == NULL) { if(sign) slow->next = fast->next; else slow->next = fast; } return pre->next; }};
0 0
- 面试题57:删除链表中的重复节点
- 《剑指Offer》面试题57:删除链表中重复的节点
- 华为机试题:删除链表中的重复节点、剩余节点逆序输出
- 删除链表中的重复节点
- 删除链表中的重复节点
- 删除有序链表中的重复节点
- 删除有序链表中的重复节点
- 删除链表中的重复节点、剩余节点逆序输出
- 删除链表中的重复节点、剩余节点逆序输出
- 删除链表中的重复节点、剩余节点逆序输出
- 【剑指offer】面试题18:删除链表中重复的节点
- 删除链表重复节点
- LeetCode 刷题: 删除已排序链表中的重复节点
- 删除有序链表中的重复节点2
- 剑指Offer面试题57:删除重复链表 Java实现
- 一起做面试题--如何删除数据库表中的重复数据
- 练习 删除链表中的重复节点、剩余节点逆序输出
- [华为机试练习题]24.删除链表中的重复节点、剩余节点逆序输出
- 【C#新手的白痴疑难】2016.7.28
- ios 打印
- Android:控件WebView显示网页
- Delphi 常用API函数 存档
- android:ems=“10”的意思
- 面试题57:删除链表中的重复节点
- 移动端设计规范
- 32位保护模式学习小结(1)
- poj2251 Dungeon Master 简单BFS
- 2116数据结构实验之链表一:顺序建立链表
- Spring4笔记----工厂方法配置bean
- C# Matlab 相互调用
- Git 进阶 —— 远程仓库
- 1091. Acute Stroke (30)