首页 > 其他 > 详细

Sum Root to Leaf Numbers

时间:2015-04-01 14:53:44      阅读:281      评论:0      收藏:0      [点我收藏+]

一个二叉树从根到叶子组成一个数字,求所有数字的和

例子:
1
/ \
2 3
有两个数字,12和13,和即25
用递归方法,每到叶子节点即返回,逐层将结果返回即可

  1. class Solution {
  2. public:
  3. int sumNumbers(TreeNode *root) {
  4. int sum = 0;
  5. sum = sumTree(root,sum);
  6. return sum;
  7. }
  8. int sumTree(TreeNode* node, int sum)
  9. {
  10. if (node==NULL)
  11. return 0;
  12. sum = node->val + sum * 10;
  13. if (!node->left && !node->right)
  14. {
  15. return sum;
  16. }
  17. int x = sumTree(node->left, sum);
  18. x += sumTree(node->right, sum);
  19. return x;
  20. }
  21. };




Sum Root to Leaf Numbers

原文:http://www.cnblogs.com/flyjameschen/p/5db6642cafd5b0e5453b7e1d85d7839a.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!