<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實(shí)戰(zhàn)404:左葉子之和

          共 1298字,需瀏覽 3分鐘

           ·

          2021-10-12 23:53

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識(shí)和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個(gè)公眾號(hào)后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?左葉子之和,我們先來看題面:
          https://leetcode-cn.com/problems/sum-of-left-leaves/

          Given?the?root?of?a?binary?tree,?return?the?sum?of?all?left?leaves.

          計(jì)算給定二叉樹的所有左葉子之和。

          示例

          ? ? ?3
          ???/ \
          ??9? 20
          ????/ \
          ???15? 7

          在這個(gè)二叉樹中,有兩個(gè)左葉子,分別是 9 和 15,所以返回 24


          解題

          主要思路:
          (1)直觀的想,就是使用先序遍歷,只不過是在遞歸的過程中,標(biāo)識(shí)出當(dāng)前結(jié)點(diǎn)是否是左子樹,只有是左子樹,且是葉子結(jié)點(diǎn)的時(shí)候,才進(jìn)行數(shù)值統(tǒng)計(jì);


          class?Solution?{
          public:

          ????void helper(TreeNode* root,int& sum,bool is_left){
          ????????if(root==NULL){//空節(jié)點(diǎn)返回
          ????????????return;
          ????????}
          ????????//為葉子結(jié)點(diǎn)
          ????????if(root->left==NULL&&root->right==NULL){
          ????????????if(is_left){//為左結(jié)點(diǎn)
          ????????????????sum+=root->val;
          ????????????}
          ????????????return;
          ????????}
          ????????helper(root->left,sum,true);//遍歷左子樹,標(biāo)識(shí)是左子樹
          ????????helper(root->right,sum,false);//遍歷右子樹,標(biāo)識(shí)不是左子樹
          ????}

          ????int sumOfLeftLeaves(TreeNode* root) {
          ??????//處理特殊的情形
          ????????if(root==NULL||(root->left==NULL&&root->right==NULL)){
          ????????????return?0;
          ????????}
          ????????int sum=0;
          ????????helper(root,sum,true);
          ????????return?sum;
          ????}
          };


          好了,今天的文章就到這里,如果覺得有所收獲,請(qǐng)順手點(diǎn)個(gè)在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動(dòng)力 。

          上期推文:

          LeetCode1-400題匯總,希望對(duì)你有點(diǎn)幫助!

          LeetCode刷題實(shí)戰(zhàn)401:二進(jìn)制手表

          LeetCode刷題實(shí)戰(zhàn)402:移掉 K 位數(shù)字

          LeetCode刷題實(shí)戰(zhàn)403: 青蛙過河


          瀏覽 21
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国语对白自拍 | 内射学生妹视频在线 | 后入美少妇 | 欧美日韩一区二区A片 | 国产黄色无码 |