LeetCode 938. 二叉搜索树的范围和(二叉树遍历+搜索剪枝)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 938. 二叉搜索树的范围和(二叉树遍历+搜索剪枝)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
- 遞歸+剪枝
- 中序遍歷循環(huán)+剪枝
1. 題目
給定二叉搜索樹的根結(jié)點 root,返回 L 和 R(含)之間的所有結(jié)點的值的和。
題目的意思,節(jié)點的值在[L, R]這個區(qū)間內(nèi),就加到結(jié)果里,求所有符合條件的節(jié)點值加和
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/range-sum-of-bst
著作權(quán)歸領(lǐng)扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
遞歸+剪枝
- 二叉搜索樹具有左子樹所有值小于根節(jié)點,右子樹大于根節(jié)點
- 根據(jù)以上性質(zhì),注意遞歸法的剪枝
中序遍歷循環(huán)+剪枝
- 中序是遞增序列,當當前值大于R時,后面均大于R,break
運行時間比較長,可能減的枝子沒有遞歸多,遞歸枝杈比較多,隨著深度變大,很大程度可被減掉
總結(jié)
以上是生活随笔為你收集整理的LeetCode 938. 二叉搜索树的范围和(二叉树遍历+搜索剪枝)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现etl_为什么选择R而不
- 下一篇: 动态规划应用--双11购物凑单