每日一題 路徑總和

2021-10-09 12:46:04 字數 986 閱讀 5137

題目描述

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。

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

示例:

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

返回:

[[5,4,11,2],

[5,8,4,5]

]

思路dfs(前序遍歷),遞迴

用乙個path來存放路徑,每次將當前節點值新增到路徑中

分別遞迴的遍歷左節點和右節點,遞迴完右節點(遞迴終止)後將最後乙個節點值從path中移除

如果到達根節點,並且加和總和等於sum,則將path新增到res結果集中

時間複雜度:o(n),空間複雜度o(logn)

/**

* definition for a binary tree node.

* public class treenode

* }*//**

* 思路:dfs(前序遍歷),遞迴

* 用乙個path來存放路徑,每次將當前節點值新增到路徑中

* 分別遞迴的遍歷左節點和右節點,遞迴完右節點(遞迴終止)後將最後乙個節點值從path中移除

* 如果到達根節點,並且加和總和等於sum,則將path新增到res結果集中

* 時間複雜度:o(n),空間複雜度o(logn)

*/class

solution

public

void

dfs(treenode root,

int sum, list

> res, list

path)

}

LeetCode每日一題 路徑總和

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

(力扣每日一題)路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。解題思路 1 使用廣度優先搜尋的方式,記錄從根節點到當前節點的路徑和。2 使用兩個佇列,分別儲存將要遍歷的節點,以及根節點到這些節點的路徑和。class so...

每日一題 路徑總和的變體

題目描述 給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000,1000000 的整數。示例 返回 3。和等於 8...