当前位置: 首页 > 面试题库 >

手写代码:怎么判断链表有环,怎么找环节点?

穆鸿卓
2023-03-14
本文向大家介绍手写代码:怎么判断链表有环,怎么找环节点?相关面试题,主要包含被问及手写代码:怎么判断链表有环,怎么找环节点?时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

判断是否有环以及环节点

public class Solution {
ListNode EntryNodeOfLoop(ListNode h){
if(h == null || h.next == null)
return null;
ListNode slow = h;
ListNode fast = h;
while(fast != null && fast.next != null ){
slow = slow.next;
fast = fast.next.next;
if(slow == fast){
ListNode p=h;
ListNode q=slow;//相当于让q指向了m1

while(p != q){
    p = p.next;
    q = q.next;
    }
    if(p == q)
    return q;
    }
    }
    return null;
}
    

 

 类似资料:
  • 本文向大家介绍华为面试题:怎么判断链表中是否有环?相关面试题,主要包含被问及华为面试题:怎么判断链表中是否有环?时的应答技巧和注意事项,需要的朋友参考一下 【参考答案】 答:用两个指针来遍历这个单向链表,第一个指针p1,每次走一步;第二个指针p2,每次走两 步;当p2 指针追上p1的时候,就表明链表当中有环路了。

  • 本文向大家介绍html5怎么判断是否在wifi环境?相关面试题,主要包含被问及html5怎么判断是否在wifi环境?时的应答技巧和注意事项,需要的朋友参考一下 https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API

  • 本文向大家介绍python判断链表是否有环的实例代码,包括了python判断链表是否有环的实例代码的使用技巧和注意事项,需要的朋友参考一下 先看下实例代码: 知识点思考: 判断一个单链表是否有环, 可以用 set 存放每一个 节点, 这样每次 访问后把节点丢到这个集合里面. 其实 可以遍历这个单链表, 访问过后, 如果这个节点 不在 set 里面, 把这个节点放入到 set 集合里面. 如果这个节

  • 本文向大家介绍手写代码:循环链表插入元素?相关面试题,主要包含被问及手写代码:循环链表插入元素?时的应答技巧和注意事项,需要的朋友参考一下 参考回答:   //插入元素 //current->next 0号节点的地址 //若第一次插入节点 //若头插法 current仍然指向头部 //(原因是:跳0步,没有跳走) 中间第一种情况

  • 本文向大家介绍算法题,单链表判断是否有环(leetcode easy),以及判断环入口相关面试题,主要包含被问及算法题,单链表判断是否有环(leetcode easy),以及判断环入口时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 是否有环: 判断环入口: