鍊錶中環的入口節點_牛客題霸_牛客網
題目描述
對於乙個給定的鍊錶,返回環的入口節點,如果沒有環,返回null
拓展:你能給出不利用額外空間的解法麼?
如下圖所示,x,y,z分別為鍊錶起始位置,環開始位置和兩指標相遇位置,則根據快指標速度為慢指標速度的兩倍,可以得出:
2*(a + b) = a + b + n * (b + c);即
a=(n - 1) * b + n * c = (n - 1)(b + c) +c;
注意到b+c恰好為環的長度,故可以推出,如將此時兩指標分別放在起始位置和相遇位置,並以相同速度前進,當乙個指標走完距離a時,另乙個指標恰好走出 繞環n-1圈加上c的距離。
故兩指標會在環開始位置相遇。
牛客 鍊錶中環的入口結點
題目描述 給乙個鍊錶,若其中包含環,請找出該鍊錶的環的入口結點,否則,輸出null。1,設乙個快指標fast每次走兩個節點和乙個慢指標slow每次走乙個節點,如果鍊錶中存在環,則快指標和滿指標一定會相遇 2,設頭節點距環入口的距離為a,環入口距快慢指標相遇節點的距離為b,快慢指標相遇節點距環入口的距...
牛客網 高頻面試題 樹的直徑
樹的直徑 牛客網 題目描述 給定一棵樹,求出這棵樹的直徑,即樹上最遠兩點的距離。示例1的樹如下圖所示。其中4到5之間的路徑最長,是樹的直徑,距離為5 2 4 11 示例1輸入 複製6,0,1 1,5 1,2 2,3 2,4 3,4,2,1,5 返回值複製 11先遍歷樹,構建乙個無向圖 後序遍歷更新樹...
牛客網刷題 鍊錶中環的入口節點
對於乙個給定的鍊錶,返回環的入口節點,如果沒有環,返回null 拓展 你能給出不利用額外空間的解法麼?輸入描述 輸入乙個鍊錶 輸出描述 輸出環的入口節點 輸入 輸出 hash表 使用額外的空間 通過遍歷記錄到hash表的方式找到環形鍊錶的入口 時間負責度 o n 空間負責度 o n 快慢指標 不使用...