删除有序链表中的重复节点2
来源:互联网 发布:vb.net 安卓手机开发 编辑:程序博客网 时间:2024/05/16 14:04
描述:给定一个有序链表,若有一个以上相同节点,则将该元素值的节点均删除。
输入:1->2->2->3->4->4->5
输出:1->3->5
思路:
1.设置3个工作指针,pre=L,cur=L->next,re=L,cur指向当前指针,pre指向当前节点的前继节点,re指向迭代过程中添加节点的位置。
2.迭代比较cur->data与cur->next->data,若相等,则令re=pre,pre=cur,pre指向有重复元素的第一个节点,然后cur=cur->next,迭代删除cur指向节点,直至cur->data!=pre->data,删除pre指向节点,re->next=cur,pre=re.
3.若不等,则re=re->next,pre=re,cur=pre->next.
4.直至cur->next==NULL
class Solution{public:LinkList uniqueTwo(LinkList &L){LinkList re,pre,cur;re=pre=L;cur=L->next;while(cur->next){if(cur->data==cur->next->data){pre=cur;//pre标记第一个重复节点while(cur->data==pre->data)//依次删除后续重复节点{pre->next=cur->next;cur=pre->next;}re->next=cur;//删除第一个重复节点pre=re;}else{re=re->next;pre=re;cur=pre->next;}}}};
0 0
- 删除有序链表中的重复节点
- 删除有序链表中的重复节点
- 删除有序链表中的重复节点2
- 删除链表中的重复节点
- 删除链表中的重复节点
- 删除链表中的重复节点、剩余节点逆序输出
- 删除链表中的重复节点、剩余节点逆序输出
- 删除链表中的重复节点、剩余节点逆序输出
- leetcode 删除有序链表中的重复元素
- 删除链表重复节点
- LeetCode 刷题: 删除已排序链表中的重复节点
- 面试题57:删除链表中的重复节点
- 有序链表删除重复元素
- 有序链表的重复元素删除
- 每天一道LeetCode-----移除有序链表中的重复节点
- 练习 删除链表中的重复节点、剩余节点逆序输出
- [华为机试练习题]24.删除链表中的重复节点、剩余节点逆序输出
- 华为机试题:删除链表中的重复节点、剩余节点逆序输出
- Java lambda 以及 Lambda在集合中的使用
- odoo 常用widget
- 关于订单需求的问题
- 在xcode中使用OCLint做代码审查
- 《App后台开发运维和架构实践》勘误
- 删除有序链表中的重复节点2
- 新浪OAuth认证
- eclipse Exception in thread "http-bio-8080-exec-2" java.lang.OutOfMemoryError: PermGen space
- Spring4.3.0 Junit4.11 initializationError(org.junit.runner.manipulation.Filter)
- Android配置文件分享和JSON数据生成与解析
- 关于数据库中的NULL
- Windows下新建Cocos2d-x V3.10项目(cocos2d-x lua)
- mysql-5.7.5-labs-http-documentation中文翻译-第三章 安装
- C#通用数据库操作类 支持Access/MSSql/Orale/MySql等数据库