99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

C++怎么解決單鏈表中的環問題

本文小編為大家詳細介紹“C++怎么解決單鏈表中的環問題”,內容詳細,步驟清晰,細節處理妥當,希望這篇“C++怎么解決單鏈表中的環問題”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

創新互聯公司是一家集網站建設,貴南企業網站建設,貴南品牌網站建設,網站定制,貴南網站建設報價,網絡營銷,網絡優化,貴南網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

單鏈表中的環

Example 1:

Input: head = [3,2,0,-4], pos = 1

Output: true

Explanation: There is a cycle in the linked list, where tail connects to the second node.

C++怎么解決單鏈表中的環問題

Example 2:

Input: head = [1,2], pos = 0
Output: true
Explanation: There is a cycle in the linked list, where tail connects to the first node.

C++怎么解決單鏈表中的環問題

Example 3:

Input: head = [1], pos = -1
Output: false
Explanation: There is no cycle in the linked list.

C++怎么解決單鏈表中的環問題

Follow up:

Can you solve it using O(1) (i.e. constant) memory?

這道題是快慢指針的經典應用。只需要設兩個指針,一個每次走一步的慢指針和一個每次走兩步的快指針,如果鏈表里有環的話,兩個指針最終肯定會相遇。實在是太巧妙了,要是我肯定想不出來。代碼如下:

C++ 解法:

class Solution {
public:
    bool hasCycle(ListNode *head) {
        ListNode *slow = head, *fast = head;
        while (fast && fast->next) {
            slow = slow->next;
            fast = fast->next->next;
            if (slow == fast) return true;
        }
        return false;
    }
};

Java 解法:

public class Solution {
    public boolean hasCycle(ListNode head) {
        ListNode slow = head, fast = head;
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
            if (slow == fast) return true;
        }
        return false;
    }
}

讀到這里,這篇“C++怎么解決單鏈表中的環問題”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注創新互聯行業資訊頻道。

網頁標題:C++怎么解決單鏈表中的環問題
文章出自:http://www.yijiale78.com/article12/jceegc.html

成都網站建設公司_創新互聯,為您提供標簽優化關鍵詞優化服務器托管外貿網站建設虛擬主機商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設