亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LeetCode如何實現二叉搜索樹的范圍和

發布時間:2021-12-15 10:29:52 來源:億速云 閱讀:119 作者:小新 欄目:大數據

小編給大家分享一下LeetCode如何實現二叉搜索樹的范圍和,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!


 

題目描述

給定二叉搜索樹的根結點 root,返回 LR(含)之間的所有結點的值的和。

二叉搜索樹保證具有唯一的值。

示例 1:

輸入:root = [10,5,15,3,7,null,18], L = 7, R = 15輸出:32
 

示例 2:

輸入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10輸出:23
 

提示:

樹中的結點數量最多為 10000 個。 最終的答案保證小于 2^31


 
 
 
 
-------------------機智的思考線-------------------  
 
 
 
 
-------------------機智的思考線--------------------  
 
 
 
 
-------------------機智的思考線-------------------  
 
 
 
 
   

解題方案

 

思路

  • 標簽:深度優先遍歷

  • 題意:這個題字面含義很難理解,本意就是求出所有 X >= LX <= R 的值的和

  • 遞歸終止條件:

    • 當前節點為null時返回0

    • 當前節點 X < L 時則返回右子樹之和

    • 當前節點 X > R 時則返回左子樹之和

    • 當前節點 X >= LX <= R 時則返回:當前節點值 + 左子樹之和 + 右子樹之和

  • 注意點:通過判斷X的大小能夠避免遍歷全部樹的節點,比如下方的動圖中,3這個值就沒有必要遍歷

LeetCode如何實現二叉搜索樹的范圍和

示例1動圖

 
 

代碼

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public int rangeSumBST(TreeNode root, int L, int R) {        if (root == null) {            return 0;        }        if (root.val < L) {            return rangeSumBST(root.right, L, R);        }        if (root.val > R) {            return rangeSumBST(root.left, L, R);        }        return root.val + rangeSumBST(root.left, L, R) + rangeSumBST(root.right, L, R);    }}

看完了這篇文章,相信你對“LeetCode如何實現二叉搜索樹的范圍和”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长沙县| 中超| 青海省| 遵义市| 梅河口市| 保亭| 鄂托克前旗| 奉贤区| 克什克腾旗| 扶绥县| 罗江县| 甘洛县| 壤塘县| 阳朔县| 谷城县| 双鸭山市| 集贤县| 平顺县| 满城县| 个旧市| 钟山县| 铜川市| 察哈| 碌曲县| 四川省| 大理市| 凯里市| 富顺县| 金坛市| 土默特左旗| 抚松县| 吴桥县| 曲麻莱县| 临颍县| 行唐县| 华阴市| 西乌珠穆沁旗| 新巴尔虎右旗| 清苑县| 蓝山县| 酒泉市|