程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> leetcode_142_Linked List Cycle II

leetcode_142_Linked List Cycle II

編輯:關於C++

描述:

Given a linked list, return the node where the cycle begins. If there is no cycle, return null.

Follow up:
Can you solve it without using extra space?

思路:

從頭開始遍歷鏈表並將結點的引用存儲在HashSet中,出現重復的地方就是出現環的地方。

代碼:

public ListNode detectCycle(ListNode head) {
		if(head==null)
			return null;
        HashSetset=new HashSet();
        ListNode pListNode=head;
        while(pListNode!=null)
        {
        	if(set.contains(pListNode))
        		return pListNode;
        	else
        	{
        		set.add(pListNode);
        		pListNode=pListNode.next;
        	}
        		
        }
		return  null;
    }

結果:


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved