《剑指offer》链表中环的入口节点
生活随笔
收集整理的這篇文章主要介紹了
《剑指offer》链表中环的入口节点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:一個鏈表中包含環,請找出該鏈表的環的入口結點。
解析:思想是用list存儲從頭開始遍歷的鏈表節點,如果list集合不存在該節點,就把該節點添加進list,然后繼續遍歷下一個。當list中包含當前節點了,說明鏈表中有環了,而當前節點就是環的入口節點
/*public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;} } */ import java.util.ArrayList; import java.util.List; public class Solution {public ListNode EntryNodeOfLoop(ListNode pHead){if(pHead==null){return null;}List<ListNode> list = new ArrayList<>();//存儲鏈表節點的listListNode result=null;while (pHead!=null){if(!list.contains(pHead)){//不包含當前節點,就添加進list,繼續遍歷list.add(pHead);pHead=pHead.next;continue;}else {result=pHead;//list中已經存儲過當前節點,說明重復了,breakbreak;}}return result;} }總結
以上是生活随笔為你收集整理的《剑指offer》链表中环的入口节点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《剑指offer》字符流中第一个不重复的
- 下一篇: 2016校招腾讯研发岗笔试题---递归法