Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to solve the problem of Loop Detection in leetcode linked list

2025-04-06 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/01 Report--

Editor to share with you how to solve the problem of leetcode linked list loop detection, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!

Given a linked list, if it is a linked list, implement an algorithm to return the beginning node of the loop. There is a definition of a linked list: the next element of a node in the linked list points to the node that appeared before it, indicating that there is a loop in the linked list. Example 1: input: head = [3jin2j0jimi 4], pos = 1 output: tail connects to node index 1 explanation: there is a ring in the linked list, its tail is connected to the second node. Example 2: input: head = [1Power2], pos = 0 output: tail connects to node index 0 explanation: there is a ring in the linked list whose tail is connected to the first node. Example 3: input: head = [1], pos =-1 output: no cycle explanation: there are no rings in the linked list. Advanced: can you solve this problem without extra space? Source: LeetCode link: https://leetcode-cn.com/problems/linked-list-cycle-lcci copyright belongs to the collar buckle network. For commercial reprint, please contact official authorization. For non-commercial reprint, please indicate the source. Answer the question / Definition for singly-linked list. * class ListNode {* int val; * ListNode next; * ListNode (int x) {* val = x; * next = null; *} * * / public class Solution {public ListNode detectCycle (ListNode head) {ListNode slow = head; ListNode fast = head; while (fast! = null & & fast.next! = null) {slow = slow.next Fast = fast.next.next; if (slow = = fast) {break;}} if (fast = = null | | fast.next = = null) {return null;} while (head! = fast) {head = head.next; fast = fast.next;} return head }} above are all the contents of this article entitled "how to solve the loop detection problem of leetcode linked list". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report