首页 > 其他 > 详细

leetcode 938. 二叉搜索树的范围和

时间:2021-05-08 16:25:43      阅读:20      评论:0      收藏:0      [点我收藏+]

给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。

示例 1:

输入:root = [10,5,15,3,7,null,18], low = 7, high = 15
输出:32
示例 2:

输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10
输出:23

提示:

树中节点数目在范围 [1, 2 * 104] 内
1 <= Node.val <= 105
1 <= low <= high <= 105
所有 Node.val 互不相同

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int sum = 0;
    int rangeSumBST(TreeNode* root, int low, int high) {
       queue<TreeNode*> q;
       if(root != NULL) q.push(root);
       while(!q.empty()){
           TreeNode* t = q.front();
           int val = t->val;
           q.pop();
           if(val >= low && val <= high) sum+=val;
           if(t->left != NULL) q.push(t->left);
           if(t->right != NULL) q.push(t->right);
       }
       return sum;
    }
};

leetcode 938. 二叉搜索树的范围和

原文:https://www.cnblogs.com/superkcl/p/14744640.html

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