Open Zheaoli opened 2 years ago
class Solution {
int ans = 0;
public int sumRootToLeaf(TreeNode root) {
dfs(root, 0);
return ans;
}
private void dfs(TreeNode root, int parent) {
if (root == null) {
return;
}
parent = (parent << 1 ) + root.val;
if (root.left == null && root.right == null) {
ans += parent;
return;
}
dfs(root.left, parent);
dfs(root.right, parent);
}
}
WeChat: Saraad
package main
/*
* @lc app=leetcode.cn id=1022 lang=golang
*
* [1022] 从根到叶的二进制数之和
*/
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
// @lc code=start
func sumRootToLeaf(root *TreeNode) int {
return dfs(root, 0, 0)
}
func dfs(node *TreeNode, num int, res int) int {
if node == nil {
return res
}
num = num*2 + node.Val
if node.Left == nil && node.Right == nil {
res += num
return res
}
res = dfs(node.Left, num, res)
res = dfs(node.Right, num, res)
return res
}
// @lc code=end
微信id: 而我撑伞 来自 vscode 插件
2022-05-30