<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)250:統(tǒng)計(jì)同值子樹

          共 3103字,需瀏覽 7分鐘

           ·

          2021-05-05 07:03

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

          今天和大家聊的問題叫做 統(tǒng)計(jì)同值子樹,我們先來(lái)看題面:
          https://leetcode-cn.com/problems/count-univalue-subtrees/

          Given a binary tree, count the number of uni-value subtrees.

          A Uni-value subtree means all nodes of the subtree have the same value.

          給定一個(gè)二叉樹,統(tǒng)計(jì)該二叉樹數(shù)值相同的子樹個(gè)數(shù)。
          同值子樹是指該子樹的所有節(jié)點(diǎn)都擁有相同的數(shù)值。

          示例


          Input: root = [5,1,5,5,5,null,5]

                        5
                       /  \
                      1   5
                     /  \    \
                    5   5   5

          Output: 4


          解題

          節(jié)點(diǎn)node若是同值子樹點(diǎn),則其左右子樹首先都是同值子樹點(diǎn),并且左右孩子的val與node的val相同。介于此,遍歷node的時(shí)候,對(duì)左右子樹dfs返回一個(gè)bool值,若都為真,再將三者的val進(jìn)行對(duì)比,否則直接返回false。

          class Solution {
          public:
              int countUnivalSubtrees(TreeNode* root) {
                  int sum=0;
                  helper(root,sum);
                  return sum;
              }
              bool helper(TreeNode* node,int& sum){
                  if(node==0){
                      return true;
                  }
                  bool le=helper(node->left,sum),ri=helper(node->right,sum);
                  if(le and ri){
                      if(node->left and node->left->val!=node->val){
                          return false;
                      }
                      if(node->right and node->right->val!=node->val){
                          return false;
                      }
                      ++sum;
                      return true;
                  }
                  return false;
              }
          };


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

          上期推文:

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

          LeetCode刷題實(shí)戰(zhàn)241:為運(yùn)算表達(dá)式設(shè)計(jì)優(yōu)先級(jí)

          LeetCode刷題實(shí)戰(zhàn)242:有效的字母異位詞

          LeetCode刷題實(shí)戰(zhàn)243:最短單詞距離

          LeetCode刷題實(shí)戰(zhàn)244:最短單詞距離 II

          LeetCode刷題實(shí)戰(zhàn)245:最短單詞距離 III

          LeetCode刷題實(shí)戰(zhàn)246:中心對(duì)稱數(shù)

          LeetCode刷題實(shí)戰(zhàn)247:中心對(duì)稱數(shù)II

          LeetCode刷題實(shí)戰(zhàn)248:中心對(duì)稱數(shù)III

          LeetCode刷題實(shí)戰(zhàn)249:移位字符串分組


          瀏覽 76
          點(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片网站 | 爱爱爱爱免费视频 | 日韩一级一级 | 亚洲色图欧美色图成人电影 | 亚州高清无码视频 |