熊二 | C++ | #农场牛的最佳观赏区间#

农场牛的最佳观赏区间

https://www.nowcoder.com/practice/7b49f5ad9814424d8c41de44f671d59e

题目考察的知识点

  • 二叉搜索树遍历
  • 中序遍历

题目解答方法的文字分析

rangeSumBST 方法接收 TreeNode 类型参数,以及两个 int 类型的参数 low 和 high,并返回一个整型结果。

在 rangeSumBST 方法中,首先检查 root 是否为 null,如果是,则返回0。

继续检查 root 的值与 low 和 high 的大小关系。如果 root 的值小于 low,则递归调用 rangeSumBST 方法传入右子树,同时保持 low 和 high 参数不变,忽略当前节点及其左子树。如果 root 的值大于 high,则递归调用 rangeSumBST 方法传入左子树,同时保持 low 和 high 参数不变,忽略当前节点及其右子树。如果 root 的值在 low 和 high 之间(包含边界),则将 root 的值累加到结果中,并同时递归调用 rangeSumBST 方法传入左子树和右子树,保持相同的 low 和 high 参数。

返回计算得到的结果作为方法的返回值。

本题解析所用的编程语言

  • cpp

完整且正确的编程代码

class Solution {
public:
    int rangeSumBST(TreeNode* root, int low, int high) {
        if (root == nullptr) return 0;
        if (root->val < low) return rangeSumBST(root->right, low, high);
        if (root->val > high) return rangeSumBST(root->left, low, high);
        return root->val + rangeSumBST(root->left, low, high) + rangeSumBST(root->right,
                low, high);
    }
};

EOF

全部评论

相关推荐

程序员牛肉:你这简历有啥值得拷打的?在牛客你这种简历一抓一大把,也就是个人信息不一样而已。 关键要去找亮点,亮点啊,整个简历都跟流水线生产出来的一样。
点赞 评论 收藏
分享
活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务