牛客题霸 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 二叉树根节点到叶子节点和为指定值的路径的主要内容,如果未能解决你的问题,请参考以下文章

牛客题霸 NC5 二叉树根节点到叶子节点的所有路径和

NC 8 二叉树根节点到叶子节点和为指定值的路径

牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径

[javascript]二叉树根节点到叶子节点和为指定值的路径

牛客Top200---二叉树和为指定值的路径(java)

NC5 二叉树根节点到叶子节点的所有路径和