首页 > 其他分享 >链表中环的入口结点

链表中环的入口结点

时间:2022-12-14 22:57:51浏览次数:32  
标签:结点 ListNode 中环 head next 链表 return NULL

给定一个链表,若其中包含环,则输出环的入口节点。

若其中不包含环,则输出null

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode *entryNodeOfLoop(ListNode *head) {
        auto a = head, b = head;
        
        while (b) {
            a = a->next;
            b = b->next;
            if (b) b = b->next;
            else return NULL;
            
            if (a == b) {
                a = head;
                while (a != b) {
                    a = a->next;
                    b = b->next;
                }
                return a;
            }
        }
        
        return NULL;
    }
};

  

标签:结点,ListNode,中环,head,next,链表,return,NULL
From: https://www.cnblogs.com/leetothemoon/p/16983897.html

相关文章

  • 反转链表
    定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。/***Definitionforsingly-linkedlist.*structListNode{*intval;*Lis......
  • 合并两个排序的链表
    输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。classSolution{public:ListNode*merge(ListNode*l1,ListNode*l2){......
  • #24. 两两交换链表中的节点
    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。1classSolution{2public:3List......
  • 206. 反转链表
    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 1structListNode{2intval;3ListNode*next;4ListNode():val(0),next(null......
  • 链表中倒数第k个节点
    输入一个链表,输出该链表中倒数第 k 个结点。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListN......
  • Java泛型链表实现
    ​​链表简介​​代码实现packagecom.chenxixuexi;/***泛型链表*单链表逆置数据--节点*求单链表倒数第K节点*求两个单链表是否相交相交交点*判断单链表是否有......
  • 17-咸鱼学Java-内部类实际应用-Java链表
    ​​内部类​​,​​未使用内部类的链表​​可以点击名字查看。此篇文章主要介绍运用内部类的Java链表的写法。链表正如其名,就像一个一个珠子被串起来,只有前一个珠子和......
  • 删除链表中重复的节点
    在一个排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留。/***Definitionforsingly-linkedlist.*structListNode{*intval;*......
  • 在O(1)时间删除链表结点
    给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。假设链表一定存在,并且该节点一定不是尾节点。/***Definitionforsingly-linkedlist.*structLi......
  • 力扣-114-二叉树展开为链表
    按照先序遍历展开展开后仍然为TreeNode,只是左孩子指针一律置空关键在于这个先序的访问过程与各个节点指针的修改操作如何统一不冲突首先就可以排除先序遍历,瞄一眼评论......