Leetcode048--二叉树的遍历组合相加

Posted 劲火星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode048--二叉树的遍历组合相加相关的知识,希望对你有一定的参考价值。

一、原题



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

An example is the root-to-leaf path1->2->3which represents the number123.

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

For example,

    1
   / \\
  2   3


The root-to-leaf path1->2represents the number12.
The root-to-leaf path1->3represents the number13.

Return the sum = 12 + 13 =25.



一、中文



深度遍历二叉树,将每一趟深度遍历的二叉树的数字的组合进行相加,将相加的和进行返回



三、举例



比如上面就是将12和13进行相加



四、思路



其实也就是从上往下依次遍历了,一开始的时候想复杂了,进行遍历的时候进行乘十的操作


五、程序


/**
 * Definition for binary tree
 * public class TreeNode 
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x)  val = x; 
 * 
 */
public class Solution 
    public int sumNumbers(TreeNode root) 
        int sum = 0;
        return getSum(root, sum);
    
    
    //其实还是层序遍历
    public int getSum(TreeNode root, int sum)
        if(root == null)
            return 0;
        
        sum = sum * 10 + root.val;
        if(root.left == null && root.right == null)
            return sum;
        
        return getSum(root.left, sum) + getSum(root.right, sum);
    


以上是关于Leetcode048--二叉树的遍历组合相加的主要内容,如果未能解决你的问题,请参考以下文章

leetcode二叉树

LeetCode 112. 路径总和 递归 树的遍历

LeetCode-102-二叉树的层序遍历

数据结构开发(25):二叉树中属性操作层次遍历与典型遍历

二叉树构建与遍历-LeetCode 103108109(二叉树的构建,层次遍历)

LeetCode94. 二叉树的中序遍历