常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,
生活随笔
收集整理的這篇文章主要介紹了
常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
給定一個二叉樹和一個值sum,請找出所有的根節點到葉子節點的節點值之和等于sum?的路徑,
例如:
給出如下的二叉樹,sum=22,
返回
[
[5,4,11,2],
[5,8,9]
]
?
示例1
輸入
{1,2},1返回值
[]示例2
輸入
{1,2},3返回值
[[1,2]]?
思路:使用遞歸
?從根節點開始,遍歷每一個結點(深度優先遍歷),將該結點的值放入當前ArrayList中
判斷當前結點是否為葉子結點 以及 當前的路徑和是否與sum相等?
步驟2中的兩個條件都滿足時,則將list加入到結果集中。否則回退,刪除list的最后一個元素(該元素可能不是葉節點,也可能當前路徑不等于sum)
?
?
總結
以上是生活随笔為你收集整理的常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常考数据结构与算法:合并k个已排序的链表
- 下一篇: c库IO函数