当前位置: 首页> 游戏> 攻略 > 如何做品牌宣传与推广_如何进行账号推广_今日新闻最新头条10条_长春seo按天计费

如何做品牌宣传与推广_如何进行账号推广_今日新闻最新头条10条_长春seo按天计费

时间:2025/7/10 18:20:18来源:https://blog.csdn.net/m0_73456341/article/details/143329603 浏览次数:0次
如何做品牌宣传与推广_如何进行账号推广_今日新闻最新头条10条_长春seo按天计费

题目传送门

方法一:哈希表(与环形链表类似)

很容易就可以找到链表的相交位置。

public class Solution {public ListNode detectCycle(ListNode head) {if(head == null || head.next == null){return null;}Set<ListNode> visited = new HashSet<>();while(head != null){visited.add(head);head = head.next;if(visited.contains(head)){return head;}            }return null;}
}

方法二: 快慢指针

难点不在于判断是否是环形链表。而是返回相交节点。

我们要记住当快指针和慢指针相遇的时候。我们新建一个指针指向头结点。此时我们让头指针和慢指针同时往后走。那么他们一定会相遇。此时我们再返回头结点。

public class Solution {public ListNode detectCycle(ListNode head) {if(head == null || head.next == null){return null;}ListNode fast = head;ListNode slow = head;while(fast != null){if(fast.next != null){fast = fast.next.next;}else{return null;}slow = slow.next;//当快指针和慢指针相遇的时候。
//我们新建一个指针指向头结点。此时我们让头指针和慢指针同时往后走。
//那么他们一定会相遇。此时我们再返回头结点。if(fast == slow){ListNode ptr = head;while(ptr != slow){ptr = ptr.next;slow = slow.next;}return ptr;}}return null;}
}

关键字:如何做品牌宣传与推广_如何进行账号推广_今日新闻最新头条10条_长春seo按天计费

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: