Leetcode-129. Sum Root to Leaf Numbers
来源:互联网 发布:阿里云报价 编辑:程序博客网 时间:2024/06/05 15:54
前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。
博客链接:mcf171的博客
——————————————————————————————
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
.
public class Solution { public int sumNumbers(TreeNode root) { List<Integer> level = new ArrayList<Integer>(); return sumNumbers(root,level); } public int sumNumbers(TreeNode root, List<Integer> level){ int sum = 0; if(root == null) return 0; if(root.left == null && root.right == null){level.add(1);sum += root.val;} else{ List<Integer> rightList = new ArrayList<Integer>(); List<Integer> leftList = new ArrayList<Integer>(); sum += sumNumbers(root.left,leftList); sum += sumNumbers(root.right,rightList); level.addAll(rightList); level.addAll(leftList); for(int i = 0; i < level.size(); i ++){ int item = level.get(i); sum += (int)Math.pow(10,item) * root.val; level.set(i,item + 1); } } return sum; }}感觉自己对于数据结构的本质理解还是不够深。Your runtime beats 61.60% of java submissions.
public class Solution { public int sumNumbers(TreeNode root) {return sumNumbers(root,0); } public int sumNumbers(TreeNode root, int lastResults){if(root == null) return 0;if(root.left == null && root.right == null) return lastResults * 10 + root.val;return sumNumbers(root.left,lastResults * 10 + root.val) + sumNumbers(root.right,lastResults * 10 + root.val); }}
0 0
- [LeetCode]129.Sum Root to Leaf Numbers
- LeetCode 129. Sum Root to Leaf Numbers
- [leetcode] 129.Sum Root to Leaf Numbers
- 【leetcode】129. Sum Root to Leaf Numbers
- [leetcode] 129. Sum Root to Leaf Numbers
- [LeetCode]129. Sum Root to Leaf Numbers
- 129. Sum Root to Leaf Numbers LeetCode
- [LeetCode]129. Sum Root to Leaf Numbers
- leetcode 129. Sum Root to Leaf Numbers
- Leetcode 129. Sum Root to Leaf Numbers
- LeetCode *** 129. Sum Root to Leaf Numbers
- LeetCode-129.Sum Root to Leaf Numbers
- LeetCode 129. sum-root-to-leaf-numbers
- LeetCode - 129. Sum Root to Leaf Numbers
- LeetCode 129. Sum Root to Leaf Numbers
- [leetcode] 129. Sum Root to Leaf Numbers
- [LeetCode] 129. Sum Root to Leaf Numbers
- Leetcode-129. Sum Root to Leaf Numbers
- React’s diff algorithm
- C语言OJ项目参考(2698) 大奖赛计分
- 城市地图-图的深度优先遍历
- Arduino笔记
- 操作系统
- Leetcode-129. Sum Root to Leaf Numbers
- LeetCode 137. Single Number II 解题报告
- C++拷贝构造函数详解
- JavaScript用户输入自己的名字,输出写给用户的信件
- Python处理文件夹TXT
- xUtils网络请求小Demo
- 115. Distinct Subsequences
- 支付分析
- Semaphore(信号量)理解