ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

lc1022-从根到叶的二进制数之和

lc1022-从根到叶的二进制数之和

题目描述

  • 给定一个二进制二叉树,计算所有从根到叶子节点组成的数字之和

示例

1022-example-01

输入:root = [1,0,1,0,1,0,1]
输出:22
解释:(100) + (101) + (110) + (111) = 4 + 5 + 6 + 7 = 22
输入:root = [0]
输出:0

题解

  • 思路:dfs
func sumRootToLeaf(root *TreeNode) int {return dfs(root, 0)
}func dfs(p *TreeNode, s int) int {if p == nil { return 0 }s = s << 1 | p.Valif p.Left == nil && p.Right == nil { return s }return dfs(p.Left, s) + dfs(p.Right, s)
}
返回列表