乡村旅游网站的建设分析,推上网站,会员管理系统怎么做,阿里巴巴网站导航怎么做2023-07-30每日一题
一、题目编号
142. 环形链表 II二、题目链接
点击跳转到题目位置
三、题目描述
给定一个链表的头节点 head #xff0c;返回链表开始入环的第一个节点。 如果链表无环#xff0c;则返回 null。
如果链表中有某个节点#xff0c;可以通过连续跟踪 n…2023-07-30每日一题
一、题目编号
142. 环形链表 II二、题目链接
点击跳转到题目位置
三、题目描述
给定一个链表的头节点 head 返回链表开始入环的第一个节点。 如果链表无环则返回 null。
如果链表中有某个节点可以通过连续跟踪 next 指针再次到达则链表中存在环。 为了表示给定链表中的环评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置索引从 0 开始。如果 pos 是 -1则在该链表中没有环。注意pos 不作为参数进行传递仅仅是为了标识链表的实际情况。
不允许修改 链表。
提示
链表中节点的数目范围在范围 [0, 104] 内-105 Node.val 105pos 的值为 -1 或者链表中的一个有效索引
示例1 示例2 示例3:
四、解题代码
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode *detectCycle(ListNode *head) {if(head NULL){return head;}while(head-next ! NULL){ListNode* node head;int cnt 0;while(node-next ! NULL cnt 10001){node node-next;if(node head){return head;}cnt;}head head-next;}return NULL;}
};五、解题思路
(1) 直接采用暴力的解法即可解决问题。链表总长度最长为104所以只需要一个指针移动大于这个数字就代表有环。
(2) 那么采用双指针来解决问题一个指针从头结点开始一直往后遍历另一个指针环绕一圈如果到达前一个指针的位置那么就输出前一个指针了如果一直到NULL那么就输出NULL即可。