LeetCode题解:Sum Root to Leaf Numbers
2015-10-02 21:14
369 查看
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,
/ \
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.
题意:给定二叉树,其从根结点到叶子结点的路径代表一个整数,求所有路径的和
解决思路:dfs
代码:
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.
题意:给定二叉树,其从根结点到叶子结点的路径代表一个整数,求所有路径的和
解决思路:dfs
代码:
public class Solution { public int sumNumbers(TreeNode root) { if(root == null){ return 0; } return dfs(root, 0); } private int dfs(TreeNode root, int sum){ if(root.left == null && root.right == null){ return sum * 10 + root.val; } int result = 0; if(root.left != null){ result += dfs(root.left, sum * 10 + root.val); } if(root.right != null){ result += dfs(root.right, sum * 10 + root.val); } return result; } }
相关文章推荐
- 【译】velocity
- 关于StdAfx.h和StdAfx.cpp
- BZOJ4295 : [PA2015]Hazard
- 将链串s中的所有子串"abc"删除
- Java中的null到底是什么?
- C++控制台下的贪吃蛇
- LeetCode题解:Word Ladder
- [LeetCode]: 35: Search Insert Position
- matlab中使用elseif和if嵌套的对比
- hdu 5490 Simple Matrix(数论)
- OC 打印结构体的内容
- 逻辑操作符---Lua: and,or,not 对比 C++:&&,||,!
- Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了)
- 有用的大牛站点
- XML文件系列三之序列化与反序列化
- codeforces 466D Increase Sequence DP
- Linux系统调用和库函数调用的区别
- c prime plus第十四章练习题
- 模板 树链剖分BFS版本
- 编写程序,要求输入年月日,输出该日是本年中的第几天