写点什么

LeetCode 题解:938. 二叉搜索树的范围和,DFS,详细注释

作者:Lee Chen
  • 2023-02-17
    福建
  • 本文字数:474 字

    阅读完需:约 2 分钟

LeetCode题解:938. 二叉搜索树的范围和,DFS,详细注释

解题思路:


  1. 对于二叉搜索树的任意节点,左子树的所有节点值都小于它的值,右子树的所有节点值都小于它的值。

  2. 使用递归进行 DFS 搜索,如果当前节点的值小于low,只要向右子树搜索。如果当前节点的值大于high只要向左子树搜索。

  3. 如果当前节点的值在[low, high]之间,就将其与子树的值相加返回


/** * @param {TreeNode} root * @param {number} low * @param {number} high * @return {number} */var rangeSumBST = function (root, low, high) {  // 如果当前节点为空,不存在值,返回0  if (!root) {    return 0  }
// 当前节点的值小于low,它左侧的值都小于low,因此只要查找右侧节点 if (root.val < low) { return rangeSumBST(root.right, low, high) } // 当前节点的值大于high,它左侧的值都大于high,因此只要查找右侧节点 if (root.val > high) { return rangeSumBST(root.left, low, high) }
// 如果当前节点的值在[low, high]之间,就将其与子树的值相加返回 return ( root.val + rangeSumBST(root.left, low, high) + rangeSumBST(root.right, low, high) )}
复制代码


发布于: 刚刚阅读数: 3
用户头像

Lee Chen

关注

还未添加个人签名 2018-08-29 加入

还未添加个人简介

评论

发布
暂无评论
LeetCode题解:938. 二叉搜索树的范围和,DFS,详细注释_算法_Lee Chen_InfoQ写作社区