【LeetCode-面试算法经典-Java实现】【129-Sum Root to Leaf Numbers(全部根到叶子结点组组成的数字相加)】

【129-Sum Root to Leaf Numbers(全部根到叶子结点组组成的数字相加)】


【LeetCode-面试算法经典-Java实现】【全部题目文件夹索引】

原题

  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.

题目大意

  给定一个二叉树。每一个结点的值是0-9。根到叶子组成一个数字,求全部的根到叶子组成的数字的和。网址:yii666.com

解题思路

  採用回溯法。

代码实现

算法实现类文章来源地址https://www.yii666.com/article/764055.html文章地址https://www.yii666.com/article/764055.html文章来源地址:https://www.yii666.com/article/764055.html

public class Solution {

    private int result = 0; // 记录总的结果
private int num = 0; // 记根到叶子的数字 public int sumNumbers(TreeNode root) {
sum(root);
return result;
} private void sum(TreeNode root) {
if (root != null) {
num = num*10 + root.val; // 已经到了根结点了
if (root.left == null && root.right == null) {
result += num;
}
sum(root.left);
sum(root.right);
num /= 10;
}
}
}

评測结果

  点击图片,鼠标不释放,拖动一段位置,释放后在新的窗体中查看完整图片。网址:yii666.com<

【LeetCode-面试算法经典-Java实现】【129-Sum Root to Leaf Numbers(全部根到叶子结点组组成的数字相加)】

特别说明

欢迎转载。转载请注明出处【http://blog.csdn.net/derrantcm/article/details/47678205】

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png