当前位置:   article > 正文

C++ | Leetcode C++题解之第129题求根节点到叶节点数字之和

C++ | Leetcode C++题解之第129题求根节点到叶节点数字之和

题目:

题解:

  1. class Solution {
  2. public:
  3. int sumNumbers(TreeNode* root) {
  4. if (root == nullptr) {
  5. return 0;
  6. }
  7. int sum = 0;
  8. queue<TreeNode*> nodeQueue;
  9. queue<int> numQueue;
  10. nodeQueue.push(root);
  11. numQueue.push(root->val);
  12. while (!nodeQueue.empty()) {
  13. TreeNode* node = nodeQueue.front();
  14. int num = numQueue.front();
  15. nodeQueue.pop();
  16. numQueue.pop();
  17. TreeNode* left = node->left;
  18. TreeNode* right = node->right;
  19. if (left == nullptr && right == nullptr) {
  20. sum += num;
  21. } else {
  22. if (left != nullptr) {
  23. nodeQueue.push(left);
  24. numQueue.push(num * 10 + left->val);
  25. }
  26. if (right != nullptr) {
  27. nodeQueue.push(right);
  28. numQueue.push(num * 10 + right->val);
  29. }
  30. }
  31. }
  32. return sum;
  33. }
  34. };
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/685028
推荐阅读
相关标签
  

闽ICP备14008679号