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--二叉树的遍历组合相加的主要内容,如果未能解决你的问题,请参考以下文章