剑指offer系列之55:删除链表汇总重复的节点
来源:互联网 发布:java进程注入 编辑:程序博客网 时间:2024/06/10 19:16
问题描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
思路:这个链表是排序的,需要找到重复的节点,所以对链表进行遍历,而且在遍历的过程中需要对每个当前遍历的节点以及后面的节点进行比较直到遇到下一个节点不与当前节点重复。如果下一个节点与当前遍历的节点不重复,则继续遍历,直到把整个链表遍历结束。具体节点的处理方式和前面反转链表非常像。
if(pHead == null) return pHead; ListNode firstNode = new ListNode(-1); firstNode.next = pHead; ListNode preNode = firstNode; ListNode curNode = pHead; while(curNode != null && curNode.next != null){ if(curNode.val == curNode.next.val){ int val = curNode.val; while(curNode != null && curNode.val == val){ curNode = curNode.next; } preNode.next = curNode; }else{ preNode = curNode; curNode = curNode.next; } } return firstNode.next;
0 0
- 剑指offer系列之55:删除链表汇总重复的节点
- 剑指offer系列之五十八:删除链表中重复的节点
- 剑指offer-删除链表重复节点
- 剑指offer之删除链表中重复的节点
- 剑指offer:删除重复的节点
- 剑指offer-删除链表中重复的节点
- 剑指offer-----删除链表中重复的 节点
- 《剑指offer》删除链表中重复的节点
- 剑指Offer--删除链表中重复的节点
- 【剑指offer-解题系列(57)】删除链表中重复的节点
- 剑指offer 57 - 删除链表中重复的节点
- 剑指offer(59):删除链表中重复的节点
- 《剑指Offer》面试题57:删除链表中重复的节点
- 剑指offer-----删除链表中重复的节点(java版)
- 【剑指offer】面试题18:删除链表中重复的节点
- 剑指Offer—56—删除链表中重复的节点
- 剑指offer-57:删除链表中重复节点
- 8.剑指offer-删除链表中重复节点
- Node.js使用MongoDB模块时的常见错误
- B+/-Tree原理及mysql的索引分析
- Python学习笔记——Unicode
- 使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- 逻辑回归Logistic Regression
- 剑指offer系列之55:删除链表汇总重复的节点
- 如何用SSH密钥远程登录腾讯云linux服务器
- Ceph浅析
- mysql-python安装的各种坑
- mamp装swoole扩展
- mybatis中foreach详解(传参Map类型)
- Remove Duplicates from Sorted Array
- HTML5新特性之工作线程Web Worker
- URAL 1960 Palindromes and Super Abilities