給定一個(gè)二叉樹(shù),返回它的中序 遍歷。 示例:輸入: [1,null,2,3]??1???\???2???/??3輸出: [1,3,2]進(jìn)階: 遞歸算法很簡(jiǎn)單,你可以通過(guò)迭代算...
給定一個(gè)二叉樹(shù),返回它的中序 遍歷。 示例:輸入: [1,null,2,3]??1???\???2???/??3輸出: [1,3,2]進(jìn)階: 遞歸算法很簡(jiǎn)單,你可以通過(guò)迭代算...
給定一個(gè)二叉樹(shù),返回它的 后序 遍歷。 示例:輸入: [1,null,2,3]??1???\???2???/??3輸出: [3,2,1]進(jìn)階: 遞歸算法很簡(jiǎn)單,你可以通過(guò)迭代...
給定一個(gè)二叉樹(shù),返回它的 前序 遍歷。 示例: 輸入: [1,null,2,3]??1???\???2???/??3 輸出: [1,2,3]進(jìn)階: 遞歸算法很簡(jiǎn)單,你可以通過(guò)...
給定一個(gè)二叉樹(shù),返回其按層次遍歷的節(jié)點(diǎn)值。 (即逐層地,從左到右訪問(wèn)所有節(jié)點(diǎn))。 例如:給定二叉樹(shù): [3,9,20,null,null,15,7]??3??/?\?9?20...
給定一個(gè)不含重復(fù)元素的整數(shù)數(shù)組。一個(gè)以此數(shù)組構(gòu)建的最大二叉樹(shù)定義如下:二叉樹(shù)的根是數(shù)組中的最大元素。左子樹(shù)是通過(guò)數(shù)組中最大值左邊部分構(gòu)造出的最大二叉樹(shù)。右子樹(shù)是通過(guò)數(shù)組中最大...
給定一個(gè) N 叉樹(shù),返回其節(jié)點(diǎn)值的后序遍歷。 例如,給定一個(gè) 3叉樹(shù) : 返回其后序遍歷: [5,6,3,2,4,1]. 說(shuō)明: 遞歸法很簡(jiǎn)單,你可以使用迭代法完成此題嗎?題...
給定一個(gè) N 叉樹(shù),返回其節(jié)點(diǎn)值的前序遍歷。 例如,給定一個(gè) 3叉樹(shù) : 返回其前序遍歷: [1,3,5,6,2,4]。說(shuō)明: 遞歸法很簡(jiǎn)單,你可以使用迭代法完成此題嗎?
給定一個(gè)二叉樹(shù),找出其最大深度。 二叉樹(shù)的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長(zhǎng)路徑上的節(jié)點(diǎn)數(shù)。 說(shuō)明: 葉子節(jié)點(diǎn)是指沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)。 示例:給定二叉樹(shù) [3,9,20,null...
翻轉(zhuǎn)一棵二叉樹(shù)。示例:輸入:??4??/ ?\ ??2??7?/? \ ? /? \ ?1 ?3 6 ?9輸出: ??4??/?\ ??7??2?/ ?\ ?/ ?\ ...
給定兩個(gè)二叉樹(shù),想象當(dāng)你將它們中的一個(gè)覆蓋到另一個(gè)上時(shí),兩個(gè)二叉樹(shù)的一些節(jié)點(diǎn)便會(huì)重疊。 你需要將他們合并為一個(gè)新的二叉樹(shù)。合并的規(guī)則是如果兩個(gè)節(jié)點(diǎn)重疊,那么將他們的值相加作為...
給定二叉搜索樹(shù)的根結(jié)點(diǎn) root,返回 L 和 R(含)之間的所有結(jié)點(diǎn)的值的和。二叉搜索樹(shù)保證具有唯一的值。 示例 1: 輸入:root = [10,5,15,3,7,nul...
給定兩個(gè)數(shù)組,編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算它們的交集。示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2]輸出: [2,2]示例 2: 輸入: nums...
給定一個(gè)鏈表,判斷鏈表中是否有環(huán)。為了表示給定鏈表中的環(huán),我們使用整數(shù) pos 來(lái)表示鏈表尾連接到鏈表中的位置(索引從 0 開(kāi)始)。 如果 pos 是 -1,則在該鏈表中沒(méi)有...
反轉(zhuǎn)從位置 m 到 n 的鏈表。請(qǐng)使用一趟掃描完成反轉(zhuǎn)。說(shuō)明:1 ≤ m ≤ n ≤ 鏈表長(zhǎng)度。示例:輸入: 1->2->3->4->5->NULL, m = 2, n = ...
在遍歷列表時(shí),將當(dāng)前節(jié)點(diǎn)的 next 指針改為指向前一個(gè)元素。由于節(jié)點(diǎn)沒(méi)有引用其上一個(gè)節(jié)點(diǎn),因此必須事先存儲(chǔ)其前一個(gè)元素。在更改引用之前,還需要另一個(gè)指針來(lái)存儲(chǔ)下一個(gè)節(jié)點(diǎn)。不...
請(qǐng)編寫(xiě)一個(gè)函數(shù),使其可以刪除某個(gè)鏈表中給定的(非末尾)節(jié)點(diǎn),你將只被給定要求被刪除的節(jié)點(diǎn)。示例 1: 輸入: head = [4,5,1,9], node = 5輸出: [4...
給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ)一位數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新...
題目:給定一個(gè)按照升序排列的整數(shù)數(shù)組 nums,和一個(gè)目標(biāo)值 target。找出給定目標(biāo)值在數(shù)組中的開(kāi)始位置和結(jié)束位置。你的算法時(shí)間復(fù)雜度必須是 O(log n) 級(jí)別。如果...