牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径相关的知识,希望对你有一定的参考价值。
https://www.nowcoder.com/practice/840dd2dc4fbd4b2199cd48f2dadf930a
解决方案
Go
var ans [][]int = make([][]int, 0)
func pathSum(root *TreeNode, sum int) [][]int {
// write code here
dfs(root, sum)
return ans
}
var a []int = make([]int, 0)
func dfs(root *TreeNode, sum int) {
if root == nil {
return
}
a = append(a, root.Val)
sum = sum - root.Val
if root.Left == nil && root.Right == nil {
if sum == 0 {
ans = append(ans, append([]int(nil), a...))
}
a = a[:len(a)-1]
return
}
dfs(root.Left, sum)
dfs(root.Right, sum)
a = a[:len(a)-1]
}
参考文章
以上是关于牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径的主要内容,如果未能解决你的问题,请参考以下文章