[Leetcode]Sum Root to Leaf Numbers
来源:互联网 发布:机器人用什么语言编程 编辑:程序博客网 时间:2024/04/28 21:18
方法一:回溯法
1、解向量可以不用一个真的“向量”来存储,而可以用一个数来存放,这个数由路径上节点的值组成
2、每当一个解找到(到达叶子节点),累加和
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int sumNumbers(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function int ans = 0, sum = 0; sumNumbers(root, ans, sum); return sum; } void sumNumbers(TreeNode *root, int &ans, int &sum) { if(root == NULL) return; ans = ans * 10 + root->val; if(root->left == NULL && root->right == NULL) sum += ans; sumNumbers(root->left, ans, sum); sumNumbers(root->right, ans, sum); ans /= 10; }};
方法二:递归
如果想用递归解决此题,必须把根节点的信息传递下去
class Solution {public: int sumNumbers(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function return sumNumbers(root, 0); } int sumNumbers(TreeNode *root, int sum) { if(root == NULL) return 0; sum = sum * 10 + root->val; if(root->left == NULL && root->right == NULL) return sum; return sumNumbers(root->left, sum) + sumNumbers(root->right, sum); }};
- 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
- lucene
- Linux下PostgreSQL安装调试的详细过程
- WPF中使用Popup控件
- memset函数使用详解
- Struts2自定义验证器(居民身份证验证)
- [Leetcode]Sum Root to Leaf Numbers
- c# 通过url读取某网站下文件的内容
- Linux pipe
- 在 xcode 4 下为 iOS 制作 framework
- hdu 1007 (分治)
- python修饰器
- Chrome Frame 离线版本下载地址。
- 最重要的32个算法
- MFC:重绘Button,定制CButton,自画CPngButton,求赐教(各种bug包括性能bug)谢谢谢谢