LeetCode -- Sum Root to Leaf Numbers
来源:互联网 发布:mac循环计数 编辑:程序博客网 时间:2024/06/16 20:27
题目描述:
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.
思路:
DFS问题,即从根节点出发进入统计(存为string s),如果左节点不为空,进入左子树统计;如果右子树不为空进入右子树统计。如果是叶子节点,记录状态放入总结果(List<string> result)。
遍历完之后,再遍历一遍result转为整形累加计算结果即可。
实现代码:
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.
思路:
DFS问题,即从根节点出发进入统计(存为string s),如果左节点不为空,进入左子树统计;如果右子树不为空进入右子树统计。如果是叶子节点,记录状态放入总结果(List<string> result)。
遍历完之后,再遍历一遍result转为整形累加计算结果即可。
实现代码:
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int x) { val = x; } * } */public class Solution { public int SumNumbers(TreeNode root) { if(root == null){ return 0; } var ret = new List<string>(); Sum(root, "",ref ret); var s = 0; for(var i = 0;i < ret.Count; i++){ s += int.Parse(ret[i]); } return s; }private void Sum(TreeNode root, string s,ref List<string> result){if(root.left == null && root.right == null){result.Add(s + root.val);return;}if(root.left != null){Sum(root.left, s + root.val, ref result);}if(root.right != null){Sum(root.right, s + root.val, ref result);}}}
1 0
- leetcode 86: Sum Root to Leaf Numbers
- [LeetCode] Sum root to leaf numbers
- LeetCode : Sum Root to Leaf Numbers
- [leetcode] Sum Root to Leaf Numbers
- 【leetcode】Sum Root to Leaf Numbers
- LeetCode之sum root to leaf numbers
- leetcode:Sum Root to Leaf Numbers
- [LeetCode]Sum Root to Leaf Numbers
- [Leetcode]Sum Root to Leaf Numbers
- [leetcode]Sum Root to Leaf Numbers
- leetcode Sum Root to Leaf Numbers
- LeetCode-Sum Root to Leaf Numbers
- [leetcode] Sum Root to Leaf Numbers
- LeetCode 129: Sum Root to Leaf Numbers
- LeetCode - Sum Root to Leaf Numbers
- leetcode之Sum Root to Leaf Numbers
- LeetCode | Sum Root to Leaf Numbers
- LeetCode - Sum Root to Leaf Numbers
- Spring MVC配置response自动转json
- 进程和线程的一些问题
- ActiveMQ 即时通讯服务 浅析
- Unity着色器常用关键字及属性
- 解决HorizontalScrollView与SeekBar滑动冲突的问题.
- LeetCode -- Sum Root to Leaf Numbers
- 程序员整理的各种不错的工具
- SAN存储网络
- python判断文件类型
- JQuery 学习,翻译练习
- Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
- linux下gcc/g++编译器使用简介及makefile的书写规则
- 有关animation抽屉动画示例
- 如何重新签名ipa文件