当前位置:   article > 正文

NC5 二叉树根节点到叶子节点的所有路径和_c++给定一个二叉树的根节点root,该树的节点值都在数字0-9之间,每一条从根节点到叶

c++给定一个二叉树的根节点root,该树的节点值都在数字0-9之间,每一条从根节点到叶

描述

给定一个二叉树的根节点root,该树的节点值都在数字\ 0-9 0−9 之间,每一条从根节点到叶子节点的路径都可以用一个数字表示。

1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点
2.叶子节点是指没有子节点的节点
3.路径只能从父节点到子节点,不能从子节点到父节点
4.总节点数目为n

  1. struct TreeNode {
  2. int val;
  3. struct TreeNode *left;
  4. struct TreeNode *right;
  5. };
  6. class Solution {
  7. public:
  8. /**
  9. *
  10. * @param root TreeNode类
  11. * @return int整型
  12. */
  13. int dfs(TreeNode* root, int num)
  14. {
  15. if (root == nullptr)//空结点直接返回0
  16. return 0;
  17. int sum = num * 10 + root->val;//当前路径值
  18. if (root->left==nullptr&&root->right==nullptr)//当前结点是叶子结点才返回路径值
  19. return sum;
  20. int leftSum = 0, rightSum = 0;
  21. if (root->left)
  22. leftSum = dfs(root->left, sum);
  23. if (root->right)
  24. rightSum = dfs(root->right, sum);
  25. return leftSum + rightSum;
  26. }
  27. int sumNumbers(TreeNode* root) {
  28. // write code here
  29. return dfs(root, 0);
  30. }
  31. };

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/52866
推荐阅读
相关标签
  

闽ICP备14008679号