首页 > 代码库 > [Leetcode][Tree][Sum Root to Leaf Numbers]
[Leetcode][Tree][Sum Root to Leaf Numbers]
非常简单的一个题,和path sum非常类似。
1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */10 class Solution {11 public:12 void sum(TreeNode *root, int now, int &res) {13 if (root == NULL) {14 return;15 }16 now = now * 10 + root->val;17 if (root->left == NULL && root->right == NULL) {18 res += now;19 }20 sum(root->left, now, res);21 sum(root->right, now, res);22 }23 int sumNumbers(TreeNode *root) {24 int res = 0;25 sum(root, 0, res);26 return res;27 }28 };
但是看完题解之后,发现题解中的解法还是比我的算法更优秀!赶紧学习!
1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */10 class Solution {11 public:12 int sum(TreeNode *root, int now) {13 if (root == NULL) {14 return 0;15 }16 now = now * 10 + root->val;17 if (root->left == NULL && root->right == NULL) {18 return now;19 }20 return sum(root->left, now) + sum(root->right, now);21 }22 int sumNumbers(TreeNode *root) {23 return sum(root, 0);24 }25 };
更少的参数,更短的代码!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。