zoukankan      html  css  js  c++  java
  • [leedcode 129] Sum Root to Leaf Numbers

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

    An example is the root-to-leaf path 1->2->3 which represents the number 123.

    Find the total sum of all root-to-leaf numbers.

    For example,

        1
       / 
      2   3
    

    The root-to-leaf path 1->2 represents the number 12.
    The root-to-leaf path 1->3 represents the number 13.

    Return the sum = 12 + 13 = 25.

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        //从根节点到叶子节点的路径代表一个数值,找出所有的这些数值然后累加得到一个和。DFS
        //本题主要注意getRes函数的参数,path代表到达node节点时,路径上已经存在的和!
        //本题注意题意:只有到达叶子节点(left=right=null)才能够将结果保存到res,所以注意递归结束条件
        int res;
        public int sumNumbers(TreeNode root) {
            getRes(root,0);
            return res;
            
        }
        public void getRes(TreeNode node,int path){//注意path参数含义!
            if(node==null) return;
            int temp=path*10+node.val;
            if(node.left==null&&node.right==null){
                res+=temp;
                return;
            }
            getRes(node.left,temp);
            getRes(node.right,temp);
            
        }
    }
  • 相关阅读:
    oracle连接命令
    oracle Wrap加密
    oracle copy
    oracle loader
    oracle一些常见的问题
    python-cn(华蟒用户组,CPyUG 邮件列表)
    代理服务器验证工具
    多线程中的信号/槽
    【多线程】python界面阻塞,白屏,not responding解决的简单例子
    vi命令
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4674950.html
Copyright © 2011-2022 走看看