LeetCode P112 路徑總和 遞迴實現

2021-10-07 20:25:45 字數 730 閱讀 9540

說明:葉子節點是指沒有子節點的節點。

示例:

給定如下二叉樹,以及目標和 sum = 22,

5

/ \4 8

/ / \

11 13 4

/ \ \

7 2 1

返回 true, 因為存在目標和為 22 的根節點到葉子節點的路徑5->4->11->2。

這個題求路徑總和,也就是要從根遍歷到葉子,那麼使用深度優先搜尋遍歷是最直觀的,每次遞迴時判斷是否是葉子結點,如果是葉子結點了 ,則看此路徑是否符合題意。具體**如下:

class

solution

//當遞迴的當前結點為葉子結點,則判斷是否符合題意

if(root.left == null && root.right == null)

//進行遞迴

return

haspathsum

(root.left, sum - root.val)

||haspathsum

(root.right, sum - root.val);}

}

二叉樹結點的定義如下:

public

class

treenode

}

112 路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 1113 4 721返回true,因為存在目標和為 22 的根節點到葉子節點的路徑5 4 11 2。d...

112路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。進行分析,遞迴終止的條件是什麼?一次遞迴中要進行什麼操作?遞迴想要返回什麼資訊?終止條件 結點為空 遞迴中操作 sum減去當前結點值,當sum為0且當前為葉子...

112 路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1返回 true,因為存在目標和為 22 的根節點到葉子節點的路徑 5 4...