LeetCode top100 路徑總和

2021-10-08 16:54:08 字數 998 閱讀 2536

給定乙個二叉樹,它的每個結點都存放著乙個整數值。

找出路徑和等於給定數值的路徑總數。

路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的(只能從父節點到子節點)。

二叉樹不超過1000個節點,且節點數值範圍是 [-1000000,1000000] 的整數。

題目分析

root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8

10

/ \

5 -3

/ \ \

3 2 11

/ \

3 -2 1

返回 3。和等於 8 的路徑有:

5 -> 3

5 -> 2 -> 1

-3 -> 11

思路(一)

兩個遞迴

(1)第乙個遞迴求任意乙個節點開始滿足和為sum的路徑條數

(2)第二個遞迴遍歷整棵樹,計算每乙個節點開始滿足和為sum的路徑條數,最後將各節點路徑數相加得到符合條件的總路徑樹

/**

* definition for a binary tree node.

* function treenode(val, left, right)

*//**

* @param root

* @param sum

* @return

*/var

pathsum

=function

(root, sum)

;//計算某乙個當前節點和等於sum的路徑條數

function

findnode

(tnode,sum)

二叉樹原則:

(1)把當前節點要做的事做好,其他的交給遞迴框架,不用當前節點操作。

(2)如果當前節點會對下面的子節點有整體影響,可以通過輔助函式增長引數列表,借助引數傳遞資訊

LeetCode top100 每日溫度

請根據每日 氣溫 列表,重新生成乙個列表。對應位置的輸出為 要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1,0,0 ...

LeetCode top100 顏色分類

給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 不能使用 庫中的排序函式來解決這道題 題目分析 輸入 2,0,2,1,1,0 輸出 0,0,1,1,...

LeetCode top100 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。題目分析 有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。輸入 輸出 true 輸入 輸出 true 輸入 輸出 false 思路 一 使用棧的方法,後進先出,如果遇見左括號入棧,右括號出戰,最終判...