链表中环的入口结点
来源:互联网 发布:squid安装到linux 编辑:程序博客网 时间:2024/05/29 07:00
题目描述
一个链表中包含环,请找出该链表的环的入口结点。
编程思路
定义两个指针slow和fast,第一次走,slow和fast都从头结点开始,slow每次走一步,fast每次走两步,当slow和fast相遇时,fast比slow多走 的步数就是环中的结点数。第二次走,slow还是从头结点开始,而fast从第一次slow和fast相遇的结点开始,直到slow和fast再次相遇时,这次相遇的结点就是该链表的环的入口结点。
程序代码
public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { if(pHead == null) return null; ListNode slow = pHead; ListNode fast = pHead; do { if(fast.next == null) return null; slow = slow.next; fast = fast.next; if(fast.next == null) return null; fast = fast.next; } while(slow != fast); slow = pHead; while(slow != fast) { slow = slow.next; fast = fast.next; } return slow; }}
阅读全文
0 0
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 链表中环的入口结点
- 三种简单排序用java实现(选择排序,冒泡排序,插入排序)
- hadoop 配置HA 重新格式化后 datanode 起不来
- hdu6146 递推
- ACM集训日记-8月23日
- Linux重点知识整理
- 链表中环的入口结点
- Python之print语句
- 频繁项集挖掘Apriori算法及其Python实现
- 设置图图图
- 图结构练习——最小生成树(prim算法)
- Dubbo入门学习--SPI实现@SPI和@Adaptive
- 2017年多校联训9 部分题解
- LintCode_二叉查找树中搜索区间_简单的递归实现
- Android Studio