求根到叶子节点数字之和
2019-03-25 17:33
218 查看
给定一个二叉树,它的每个结点都存放一个
0-9的数字,每条从根到叶子节点的路径都代表一个数字。
例如,从根到叶子节点路径
1->2->3代表数字
123。
计算从根到叶子节点生成的所有数字之和。
说明: 叶子节点是指没有子节点的节点。
示例 1:
输入: [1,2,3] 1 / \ 2 3 输出: 25 解释: 从根到叶子节点路径 1->2 代表数字 12. 从根到叶子节点路径 1->3 代表数字 13. 因此,数字总和 = 12 + 13 = 25.
public class SumNumbers { public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } public int sumNumbers(TreeNode root) { return dfs(root, ""); } private int dfs(TreeNode root, String str) { if (root == null) { return 0; } str += root.val; if (root.left == null && root.right == null) { return Integer.valueOf(str); } return dfs(root.left, str) + dfs(root.right, str); } }
相关文章推荐
- 129. 求根到叶子节点数字之和
- (LeetCode 129)求根到叶子节点数字之和 [简单DFS ]
- [Leetcode] Sum root to leaf numbers求根到叶节点的数字之和
- 求根结点到每个叶子节点的逆序列【后序遍历非递归的应用】
- 求二叉树叶子节点的个数/求二叉树第k层的节点个数/一个数组中有一个数字的次数超过了数组的一半,求出这个字符
- 二叉树的叶子节点、第K层节点/数组中数字次数超过数组长度的一般
- 求二叉树从根节点到每个叶子节点路径上不重复数字的最大个数
- 二叉树的每个节点为0-9的一个数字,根到叶子的一条路径拼成一个数,求所有路径形成的数字和
- 先序遍历建立二叉树,求保存最大数字的叶子节点到最小数字的叶子结点的距离 2016网易编程题
- day10之求二叉树叶子节点的个数+求二叉树第k层的节点个数+数组中超过一半的数字
- [LeetCode] 129. Sum Root to Leaf Numbers 求根到叶节点数字之和
- [LeetCode 129] - 根节点到叶子节点数字求和(Sum Root to Leaf Numbers)
- [LeetCode] Sum Root to Leaf Numbers 求根到叶节点数字之和
- 如何使用C++递归来实现在BST(Binary Search Tree)里将所有的叶子节点上的数字求和
- 求二叉树从叶子到根节点的值组成数字的和
- 四叉树通常用来以紧凑的形式对数字图像进行编码(1.根据叶子节点构造四叉树 2.根据四叉树结构对加密图像进行解码 3.输出解码后的图像信息 )
- 求根节点到树中任一结点的路径
- 统计二叉树中叶子节点的数目
- 搜狐研究院 求二叉树最大叶子节点到最小叶子节点的距离
- 第七题:交换一棵二叉树中每个节点的左右子树,删除一棵二叉树中的所有叶子节点(递归操作)。