LeetCode - Linked List Cycle(鏈表環檢測)
題目描述 給定一個單向鏈表,判斷鏈表中是否存在環。如果有環,返回 True;否則,返回 False。 範例: 輸入:head = [3,2,0,-4],pos = 1 輸出:True 解釋:鏈表中有一個環,尾部連接到索引 1 的節點(節點值為 2)。 輸入:head = [1,2],pos = 0 輸出:True 解釋:鏈表中有一個環,尾部連接到索引 0 的節點(節點值為 1)。 ...
題目描述 給定一個單向鏈表,判斷鏈表中是否存在環。如果有環,返回 True;否則,返回 False。 範例: 輸入:head = [3,2,0,-4],pos = 1 輸出:True 解釋:鏈表中有一個環,尾部連接到索引 1 的節點(節點值為 2)。 輸入:head = [1,2],pos = 0 輸出:True 解釋:鏈表中有一個環,尾部連接到索引 0 的節點(節點值為 1)。 ...
題目描述 給定兩個已排序的單向鏈表 list1 和 list2,將它們合併成一個新的排序鏈表並返回。新的鏈表應該由兩個鏈表的所有節點組成。 範例: 輸入:list1 = 1 -> 2 -> 4, list2 = 1 -> 3 -> 4 輸出:1 -> 1 -> 2 -> 3 -> 4 -> 4 輸入:list1 = [], lis...
題目描述 給定一個單向鏈表,將鏈表進行反轉並返回反轉後的鏈表頭結點。 範例: 輸入:1 -> 2 -> 3 -> 4 -> 5 -> NULL 輸出:5 -> 4 -> 3 -> 2 -> 1 -> NULL 限制: 你可以使用迭代法或遞歸法解決這個問題。 解法思路 鏈表的反轉可以通過迭代或遞歸兩種方式完成。下面介...
題目描述 實現 strStr() 函數。 給定兩個字符串 haystack 和 needle,在 haystack 中找到 needle 出現的第一個位置(從 0 開始),如果 needle 不是 haystack 的一部分,則返回 -1。 例子: 輸入:haystack = "hello", needle = "ll" 輸出:2 輸入:haystack = "aaaaa", nee...
題目描述 給定一個字符串 s,找到 s 中最長的回文子串。回文串是指正讀和反讀相同的字符串。 範例: 輸入:s = "babad" 輸出:"bab" 解釋:"aba" 也是一個有效答案。 輸入:s = "cbbd" 輸出:"bb" 注意: 如果存在多個長度相同的最長回文子串,返回其中任意一個。 解法思路 這是一個經典的中心擴展法問題。可以通過動態規劃或中心擴展來解決。 ...
題目描述 給定一組字符串數組 strs,將它們按照字母異位詞進行分組。字母異位詞是指由相同字母組成,但排列順序不同的字符串。 範例: 輸入:strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 輸出:[["eat", "tea", "ate"], ["tan", "nat"], ["bat"]] 解釋:字母異位詞如 "eat"、"tea" 和...
題目描述 給定一個編碼字符串 s,按下述規則解碼它: 數字後面緊跟著的方括號表示字符串的重複次數。例如,字符串 "3[a]" 表示 "aaa";而 "2[bc]" 表示 "bcbc"。 嵌套情況下也需要處理,例如 "3[a2[c]]" 解碼為 "accaccacc"。 請返回解碼後的字符串。 範例: 輸入:s = "3[a]2[bc]" 輸出:"aaabcbc" 輸入:...
題目描述 給定一個字符串數組 strs,找出所有字符串的 最長公共前綴。如果不存在公共前綴,則返回空字符串 ""。 範例: 輸入:strs = ["flower","flow","flight"] 輸出:"fl" 輸入:strs = ["dog","racecar","car"] 輸出:"" 解釋:輸入不存在公共前綴。 解法思路 要找出字符串數組中所有字符串的最長公共前綴,有幾種方...
題目描述 給定兩個字符串 s 和 t,在字符串 s 中找到包含 t 中所有字母的最小子串,並返回該子串。如果不存在符合條件的子串,則返回空字符串 ""。如果 t 中的字母在 s 中多次出現,則要求匹配數量也必須相同。 範例: 輸入:s = "ADOBECODEBANC", t = "ABC" 輸出:"BANC" 解釋:在 "ADOBECODEBANC" 中,包含 "ABC" 所有字母的最...
題目描述 給定一個字符串 s,請找出其中不含重複字符的 最長子串,並返回該子串的長度。 範例: 輸入:s = "abcabcbb" 輸出:3 解釋:最長子串是 "abc",其長度為 3。 輸入:s = "bbbbb" 輸出:1 解釋:最長子串是 "b",其長度為 1。 輸入:s = "pwwkew" 輸出:3 解釋:最長子串是 "wke",其長度為 3。請注意,答案必須是子串,"pw...