給定乙個鍊錶,判斷鍊錶中是否有環。
為了表示給定鍊錶中的環,我們使用整數pos
來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果pos
是-1
,則在該鍊錶中沒有環。
示例 1:
輸入:head = [3,2,0,-4], pos = 1輸出:true解釋:鍊錶中有乙個環,其尾部連線到第二個節點。
思路一:使用雜湊表,時間複雜度和空間複雜度都是o(n);
思路二:使用快慢指標,空間複雜度降為o(1),因為只使用了慢指標和快指標兩個結點。
class solution(object):
def hascycle(self,head)
slow = fast = head
while slow and fast and fast.next:
slow = slow.next
fast = fast.next.next
if slow == fast:
return true
return false
找工作刷題記錄 007有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true思路 使用棧的方法。python語法 查詢字典的時候預設查詢鍵值key.class solution object de...
找工作刷題記錄 020括號的有效組合
給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 思路 遞迴的搜尋方式,深度搜尋。class solution def generateparenthesis self,n int list str self.list self...
找工作刷題記錄 013驗證二叉搜尋樹
叉搜尋樹 英語 binary search tree 也稱 叉搜尋樹 有序 叉樹 英語 ordered binary tree 排序 叉樹 英語 sorted binary tree 是指 棵空樹或者具有下列性質的 叉樹 1.若任意節點的左 樹不空,則左 樹上所有結點的值均 於它的根結點的值 2.若...