博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode----129. Sum Root to Leaf Numbers
阅读量:4112 次
发布时间:2019-05-25

本文共 857 字,大约阅读时间需要 2 分钟。

链接:

大意:

给定一棵树根节点root,求出从根节点到每个叶子节点路径上数字组成的十进制数的和。例子:

思路:

先序遍历,回溯。

遍历到一个节点时, 首先计算根节点到该节点路径上数字组成的十进制数,再判断当前节点是否为叶子节点即可。

函数外部保存一个变量sum用于记录根节点到每个叶子节点路径上数字组成的十进制数字的和。

代码:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    private int sum = 0;    public int sumNumbers(TreeNode root) {        if (root == null)            return 0;        dfs(root, 0);        return sum;    }    private void dfs(TreeNode root, int val) {        val = val * 10 + root.val;        // 叶子节点        if (root.left == null && root.right == null) {            sum += val;            return ;        }        if (root.left != null)            dfs(root.left, val);        if (root.right != null)            dfs(root.right, val);    }}

结果:

结论:

很简单的一个回溯题。 

 

 

转载地址:http://bxesi.baihongyu.com/

你可能感兴趣的文章
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>