zoukankan      html  css  js  c++  java
  • LeetCode_129.求根到叶子节点数字之和

    给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。

    例如,从根到叶子节点路径 1->2->3 代表数字 123

    计算从根到叶子节点生成的所有数字之和。

    说明: 叶子节点是指没有子节点的节点。

    示例 1:

    输入: [1,2,3]
        1
       / 
      2   3
    输出: 25
    解释:
    从根到叶子节点路径 1->2 代表数字 12.
    从根到叶子节点路径 1->3 代表数字 13.
    因此,数字总和 = 12 + 13 = 25.

    示例 2:

    输入: [4,9,0,5,1]
        4
       / 
      9   0
     / 
    5   1
    输出: 1026
    解释:
    从根到叶子节点路径 4->9->5 代表数字 495.
    从根到叶子节点路径 4->9->1 代表数字 491.
    从根到叶子节点路径 4->0 代表数字 40.
    因此,数字总和 = 495 + 491 + 40 = 1026.

    C#代码

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left;
     *     public TreeNode right;
     *     public TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public int SumNumbers(TreeNode root) {
            return SumNumbers(root, 0);
        }
        
        public int SumNumbers(TreeNode root, int val){
            if(root == null) return val;        
            int sum = val * 10 + root.val; 
            if(root.left == null && root.right == null) return sum;
            if(root.left == null && root.right != null) return SumNumbers(root.right, sum);
            if(root.left != null && root.right == null) return SumNumbers(root.left, sum);
            return SumNumbers(root.left, sum) + SumNumbers(root.right, sum);
        }
    }
    
  • 相关阅读:
    Codeforces 1017E The Supersonic Rocket 凸包,计算几何,字符串,KMP
    Codeforces 1017F The Neutral Zone 数论
    51Nod1253 Kundu and Tree 容斥原理
    扩展中国剩余定理 (exCRT) 的证明与练习
    简单布局
    自创一个百变布局
    ajax上传文件
    DIV+CSS布局
    windowbuilder
    SWT开发工具
  • 原文地址:https://www.cnblogs.com/fuxuyang/p/14242690.html
Copyright © 2011-2022 走看看