剑指offer——删除链表中重复的结点
来源:互联网 发布:淘宝店铺扣24分后果 编辑:程序博客网 时间:2024/06/05 06:07
题目描述:
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
思路:
因为需要找到重复的节点,所以对链表进行遍历,而且在遍历的过程中需要对每个当前遍历的节点以及后面的节点进行比较直到遇到下一个节点不与当前节点重复。如果下一个节点与当前遍历的节点不重复,则继续遍历,直到把整个链表遍历结束
代码实现:
public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class Solution { public ListNode deleteDuplication(ListNode pHead) { 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》——删除链表中重复的结点
- 《剑指offer》——删除链表中重复的结点
- 剑指offer——删除链表中重复的结点
- 剑指offer——删除链表中重复的结点
- 剑指offer——56.删除链表中重复的结点
- 剑指offer——链表-删除链表中重复的结点
- 剑指offer—删除链表中重复的结点
- 剑指offer—删除链表中重复的结点
- 剑指offer--删除链表中重复的结点
- 《剑指offer》删除链表中重复的结点
- 剑指offer:删除链表中重复的结点
- [剑指offer]删除链表中重复的结点
- 剑指offer|删除链表中重复的结点
- 《剑指offer》:删除链表中重复的结点
- 剑指Offer:删除链表中重复的结点
- 《剑指offer》-删除链表中重复的结点
- 剑指offer: 删除链表中重复的结点
- 剑指offer 删除链表中重复的结点
- 4个Android Studio小技巧
- Node.js 工具模块
- Openstack组件部署 — Nova_安装和配置Controller Node
- 设计模型之创建型模式之单例模式(Singleton)
- Linux学习之软件安装(二)-常用软件安装列表
- 剑指offer——删除链表中重复的结点
- [adb]常用命令
- 中文转拼音,分组与排序
- U3D自定义摇杆
- 自旋锁
- 集群、分布式、负载均衡区别与联系
- 第一次发博客O(∩_∩)O哈哈~!!
- Windows下多线程编程(二)
- JDK安装