剑指offer面试题57 删除链表中重复的结点
来源:互联网 发布:走台步的基本技巧 知乎 编辑:程序博客网 时间:2024/06/05 02:47
解题思路:
设置三个指针,分别是pre,current,later,pre初始值设为null,current指向头结点,later始终指向current的下一个结点。当current指向结点元素与later指向元素不等时,current后移;当current指向结点元素与later指向元素相等时,则一直后移current与later,直到current与later指向元素不等为止。此时更新指针指向,即删除链表中重复节点。
public class Solution {public ListNode deleteDuplication(ListNode pHead) {if (pHead == null) {System.out.println("链表不存在");return null;}//ListNode pre = null;ListNode current = pHead;while (current != null) {ListNode later = current.next;if (later != null) {if (current .val != later.val) {pre = current;current = current.next;} else {while (current != null && later != null && current.val == later.val ) {current = current.next;later = later.next;}//此时循环结束时,current指向重复数字的最后一个,later指向第一个数字//断开指针的连接if (pre != null) {pre.next = later;current = later;} else {pHead = later;current = later;}}} else {//later == null时,current = current.next;}}return pHead;}}
阅读全文
0 0
- 剑指offer-面试题57:删除链表中重复的结点
- 剑指offer--面试题57:删除链表中重复的结点
- 剑指offer 面试题57 删除链表中重复的结点
- 剑指offer-面试题57-删除链表中重复的结点
- 剑指offer 面试题57 删除链表中重复的结点
- 【剑指Offer】面试题57:删除链表中重复的结点
- 剑指offer面试题57 删除链表中重复的结点
- 剑指offer面试题[57]-删除链表中重复的结点
- 【剑指Offer】面试题57:删除链表中重复的结点
- 《剑指Offer》学习笔记--面试题57:删除链表中重复的结点
- 【剑指Offer学习】【面试题57:删除链表中重复的结点】
- 剑指Offer系列-面试题57:删除链表中重复的结点
- 《剑指offer》面试题57 删除链表中重复的结点 C++ 实现 以及 错误总结 (指针问题)!!
- 《剑指Offer》面试题57:删除链表中重复的节点
- 面试题57:删除链表中重复的结点
- 面试题57:删除链表中重复的结点
- 剑指offer--删除链表中重复的结点
- 《剑指offer》删除链表中重复的结点
- <LeetCode>Add Two Numbers
- redis持久化RDB和AOF
- 【已解决】pip出错:Cannot connect to proxy
- Opencv3 python学习1——图片基础处理
- uva10391 Compound Words (substr用法)
- 剑指offer面试题57 删除链表中重复的结点
- 【solr】Solr中文分词配置(IKAnalyzer)
- 浏览器优化思路
- 《转载》使用wubi安装Ubuntu14.04
- C#如何创建自定义控件以及添加自定义属性和事件使用
- 谈一谈神奇的ShadowDOM
- 从原理角度解析Android (Java) http 文件上传
- 搭建 Python 开发环境
- Socket加入多线程通信实现简单的CS聊天室