1353. 根节点到叶节点求和

1353. 根节点到叶节点求和

  给定仅包含来自0-9的数字的二叉树,每个根到叶路径可以表示数字。举个例子:root-to-leaf路径1-> 2-> 3,它代表数字123,找到所有根到叶的数的总和

样例

样例1 输入: {1,2,3} 输出: 25 解释: 1 / \ 2 3 路径 1->2 表示数字 12. 路径 1->3 表示数字 13. 因此, sum = 12 + 13 = 25. 样例2 输入: {4,9,0,5,1} 输出: 1026 解释: 4 / \ 9 0 / \ 5 1 路径 4->9->5 表示数字 495. 路径 4->9->1 表示数字 491. 路径 4->0 表示数字 40. 因此, sum = 495 + 491 + 40 = 1026.

注意事项

叶节点是没有子节点的节点     /** * Definition of TreeNode: * public class TreeNode { *     public int val; *     public TreeNode left, right; *     public TreeNode(int val) { *         this.val = val; *         this.left = this.right = null; *     } * } */     public class Solution {     /**      * @param root: the root of the tree      * @return: the total sum of all root-to-leaf numbers      */     public int sumNumbers(TreeNode root) {          if (root == null) {                 return 0;             }             return sumNumbers(root, 0);         }             private int sumNumbers(TreeNode root, int val) {             val = val * 10 + root.val;             if (root.left != null && root.right != null) {                 return sumNumbers(root.left, val) + sumNumbers(root.right, val);             } else if (root.left != null) {                 return sumNumbers(root.left, val);             } else if (root.right != null) {                 return sumNumbers(root.right, val);             } else {                 return val;             }         } }  
上一篇:【指纹识别】基于matlab GUI指纹识别【含Matlab源码 1353期】


下一篇:1353. 滑雪场设计【难度: 一般 / 知识点: 枚举 贪心】