国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

【手把手帶你刷LeetCode】——11.二叉搜索樹(shù)的范圍和(DFS)

HelKyle / 1118人閱讀

摘要:大家簡(jiǎn)單看一下純遞歸的解法原題二叉搜索樹(shù)的范圍和解法題目描述給定二叉搜索樹(shù)的根結(jié)點(diǎn),返回值位于范圍之間的所有結(jié)點(diǎn)的值的和。

【前言】

今天是力扣打卡第11天!

感謝鐵汁們的陪伴,一起加油鴨!!

在第9天的時(shí)候?qū)戇^(guò)這道題的遞歸解題方法,其實(shí)DFS使用的解題思想就是遞歸,所以大同小異啦。大家簡(jiǎn)單看一下純遞歸的解法:

https://blog.csdn.net/weixin_57544072/article/details/121196600?spm=1001.2014.3001.5502

原題:二叉搜索樹(shù)的范圍和(DFS解法)

題目描述:

給定二叉搜索樹(shù)的根結(jié)點(diǎn)?root,返回值位于范圍?[low, high]?之間的所有結(jié)點(diǎn)的值的和。?

示例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

題解 :

全都在代碼里頭咯。

代碼執(zhí)行:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     struct TreeNode *left; *     struct TreeNode *right; * }; */int rangeSumBST(struct TreeNode* root, int low, int high){    // //方法一:遞歸法    // //找邊界    // if(root == NULL){    //     return 0;    // }    // //左子樹(shù)    // int leftSum = rangeSumBST(root->left, low, high);    // //右子樹(shù)    // int rightSum = rangeSumBST(root->right, low, high);    // int result = leftSum + rightSum;    // //判斷根節(jié)點(diǎn)    // if(root->val >= low && root->val <= high){    //     result += root->val;    // }    // return result;    //方法二:DFS    //判斷特殊情況    if(root == NULL){        return 0;    }    //如果根節(jié)點(diǎn)的值大于high,那么右子樹(shù)不滿(mǎn)足,此時(shí)只需要判斷左子樹(shù)    if(root->val > high){        return rangeSumBST(root->left, low, high);    }    //如果根節(jié)點(diǎn)的值小于low,那么左子樹(shù)一定不滿(mǎn)足,此時(shí)只需要判斷右子樹(shù)    if(root->val < low){        return rangeSumBST(root->right, low, high);    }    //否則如果根節(jié)點(diǎn)的值在low和high之間,那么三者都需要判斷    return root->val + rangeSumBST(root->left, low, high) + rangeSumBST(root->right, low, high);}

復(fù)雜度分析:

時(shí)間復(fù)雜度:O(N),?取決于二叉搜索樹(shù)的節(jié)點(diǎn)數(shù);

空間復(fù)雜度:O(N),取決于遞歸調(diào)用棧空間的開(kāi)銷(xiāo)。

總結(jié):

今天是力扣打卡第11天!

時(shí)間很緊,博主和鐵汁們一起堅(jiān)持,加油!!?

?

?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/123049.html

相關(guān)文章

  • 把手你刷LeetCode】——15.劍指offer之不用加減乘除做加法(位運(yùn)算)

    摘要:前言今天是力扣打卡第天天天做遞歸做煩了,換換腦子,嘿嘿。原題不用加減乘除做加法題目描述寫(xiě)一個(gè)函數(shù),求兩個(gè)整數(shù)之和,要求在函數(shù)體內(nèi)不得使用四則運(yùn)算符號(hào)。補(bǔ)碼的優(yōu)勢(shì)加法減法可以統(tǒng)一處理只有加法器。 【前言】 今天是力扣打卡第15天! 天天做遞歸做煩了,換換腦子,嘿嘿。 原題: 不用加減...

    QLQ 評(píng)論0 收藏0
  • LeetCode 精選TOP面試題【51 ~ 100】

    摘要:有效三角形的個(gè)數(shù)雙指針最暴力的方法應(yīng)該是三重循環(huán)枚舉三個(gè)數(shù)字。總結(jié)本題和三數(shù)之和很像,都是三個(gè)數(shù)加和為某一個(gè)值。所以我們可以使用歸并排序來(lái)解決這個(gè)問(wèn)題。注意因?yàn)闅w并排序需要遞歸,所以空間復(fù)雜度為 ...

    Clect 評(píng)論0 收藏0
  • 把手你刷好題】——21.一道筆試題(非力扣)

    摘要:前言今天是刷題打卡第天可能有鐵汁會(huì)問(wèn),為什么變成刷好題,而不是刷了呢因?yàn)樽罱P者遇到很多經(jīng)典的筆試題,想著記錄下來(lái),方便大家和自己學(xué)習(xí),所以今后筆者會(huì)在標(biāo)題上注明是不是力扣題。 【前言】 今天是刷題打卡第21天! 可能有鐵汁會(huì)問(wèn),為什么變成刷好題, 而不是刷LeetCode 了呢?因?yàn)?..

    騫諱護(hù) 評(píng)論0 收藏0
  • 力扣(LeetCode)124

    題目地址:https://leetcode-cn.com/probl...題目描述: 給定一個(gè)非空二叉樹(shù),返回其最大路徑和。 本題中,路徑被定義為一條從樹(shù)中任意節(jié)點(diǎn)出發(fā),達(dá)到任意節(jié)點(diǎn)的序列。該路徑至少包含一個(gè)節(jié)點(diǎn),且不一定經(jīng)過(guò)根節(jié)點(diǎn)。 示例 1: 輸入: [1,2,3] 1 / 2 3 輸出: 6 示例 2: 輸入: [-10,9,20,nul...

    geekidentity 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<