题目:112. 路径总和

描述:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和(说明: 叶子节点是指没有子节点的节点)。

输入示例:

二叉树:
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1

sum:22

输出:true

原因:因为存在目标和为22的根节点到叶子节点的路径5->4->11->2。

解析:本题是一道二叉树相关的题目,要判断是否存在根节点到叶子节点的一条路径,乍一想可以用深搜递归的方法来解决。

不过用广搜会更快,从根节点出发一层一层往下直到叶子结点,碰到叶子结点时判断当前路径和是否与目标值匹配即可。这样尝试的次数会比深搜更少,不过代价就是会额外用到一个队列,在空间上有所牺牲。

更多题目:github.com
展开
SmallStoneSK于2019-09-24 14:08发布的图片
评论