<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      LeetCode 100. 相同的樹

      100. 相同的樹

      • 題目要求
        給出兩二叉樹,詢問這兩棵樹是否完全相同,輸出true或者false

      • 題目思路(我的,不知道是否可行,目前仍然是wa,QAQ,成功實現,通過兩次不同\(DFS\)遍歷的方式[其中必須包含中序遍歷],來確定一棵樹,保證其的唯一性)

        • 先知條件:如果已知先序遍歷(\(DLR\))和中序遍歷(\(LDR\))或者后序遍歷(\(LRD\))和中序遍歷(\(LDR\))

        • 那么我通過\(4\)\(DFS\)深度遍歷兩棵樹\(TreeNode\) \(p\),\(TreeNode\) \(q\)
          分別得到相應的中序遍歷和先(后)序遍歷,最后再兩個\(for\)循環進行遍歷判斷是否相同

        • 代碼如下(未實現)

          class Solution {
          public:
              vector<int> lrp[2],lpr[2];
              void init(){
                  for(int i=0;i<2;i++){
                      lrp[i].clear();
                      lpr[i].clear();
                  }
              }
              void dfs_lrp1(TreeNode* root){
                  if(!root)return;
                  dfs_lrp1(root->left);
                  dfs_lrp1(root->right);
                  lrp[0].push_back(root->val);
              }
              void dfs_lrp2(TreeNode* root){
                  if(!root)return;
                  dfs_lrp2(root->left);
                  dfs_lrp2(root->right);
                  lrp[1].push_back(root->val);
              }
              void dfs_lpr1(TreeNode* root){
                  if(!root)return;
                  dfs_lpr1(root->left);
                  lpr[0].push_back(root->val);
                  dfs_lpr1(root->right);
              }
              void dfs_lpr2(TreeNode* root){
                  if(!root)return;
                  dfs_lpr2(root->left);
                  lpr[1].push_back(root->val);
                  dfs_lpr2(root->right);
              }
              bool isSameTree(TreeNode* p, TreeNode* q) {
                  init();
                  dfs_lrp1(p);
                  dfs_lpr1(p);
                  dfs_lpr2(q);
                  dfs_lrp2(q);
                  int f,ff;
                  f=ff=1;
                  if(lrp[0].size()==lrp[1].size()&&lpr[0].size()==lpr[1].size()){
                      for(int i=0;i<lrp[0].size();i++){
                      if(lrp[0][i]!=lrp[1][i]){
                          f=0;
                          break;
                          }
                      }
                      for(int i=0;i<lpr[0].size();i++){
                          if(lpr[0][i]!=lpr[1][i]){
                              ff=0;
                              break;
                          }
                      }
                  }
                  else{
                      f=0;
                  }
                  if(f&&ff){
                      return true;
                  }
                  return false;
              }};
          
        • 按照自己的思路,再次實現(AC)

          class Solution {
          public:
              vector<int> lrp[2],lpr[2];
              void init(){
                  for(int i=0;i<2;i++){
                      lrp[i].clear();
                      lpr[i].clear();
                  }
              }
              void dfs_lrp1(TreeNode* root){
                  if(!root){lrp[0].push_back(-1);return;}
                  dfs_lrp1(root->left);
                  dfs_lrp1(root->right);
                  lrp[0].push_back(root->val);
              }
              void dfs_lrp2(TreeNode* root){
                  if(!root){lrp[1].push_back(-1);return;}
                  dfs_lrp2(root->left);
                  dfs_lrp2(root->right);
                  lrp[1].push_back(root->val);
              }
              void dfs_lpr1(TreeNode* root){
                  if(!root){lpr[0].push_back(-1);return;}
                  dfs_lpr1(root->left);
                  lpr[0].push_back(root->val);
                  dfs_lpr1(root->right);
              }
              void dfs_lpr2(TreeNode* root){
                  if(!root){lpr[1].push_back(-1);return;}
                  dfs_lpr2(root->left);
                  lpr[1].push_back(root->val);
                  dfs_lpr2(root->right);
              }
              bool isSameTree(TreeNode* p, TreeNode* q) {
                  init();
                  dfs_lrp1(p);
                  dfs_lpr1(p);
                  dfs_lpr2(q);
                  dfs_lrp2(q);
                  int f,ff;
                  f=ff=1;
                  if(lrp[0].size()==lrp[1].size()&&lpr[0].size()==lpr[1].size()){
                      for(int i=0;i<lrp[0].size();i++){
                      if(lrp[0][i]!=lrp[1][i]){
                          f=0;
                          break;
                          }
                      }
                      for(int i=0;i<lpr[0].size();i++){
                          if(lpr[0][i]!=lpr[1][i]){
                              ff=0;
                              break;
                          }
                      }
                  }
                  else{
                      f=0;
                  }
                  if(f&&ff){
                      return true;
                  }
                  return false;
              }};
          
      • 正解

        class Solution {
        public:
            bool isSameTree(TreeNode* p, TreeNode* q) {
                if(p==nullptr&&q==nullptr){// 兩棵空樹
                    return true;
                }
                else if(p==nullptr||q==nullptr){// 只有一棵樹是空的
                    return false;
                }
                else if(p->val!=q->val){// 節點值不同
                    return false;
                }
                else{// 繼續遍歷
                    return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
                }
            }
        };
        
      posted @ 2021-08-25 15:36  Drophair  閱讀(34)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲第一极品精品无码久久| av色蜜桃一区二区三区| 日韩熟女精品一区二区三区| 十八禁在线观看视频播放免费| 国产成人精品久久性色av| 久久精品国产一区二区三| 日韩在线成年视频人网站观看| 国产精品一线二线三线区| 亚洲免费网站观看视频| 中文国产日韩欧美二视频| 天堂av资源在线免费| 亚洲AVAV天堂AV在线网阿V| 中文幕无线码中文字夫妻| 亚洲国产精品久久久久婷婷图片| 亚洲综合一区二区三区| 久久人人爽人人爽人人av| 亚洲精品区午夜亚洲精品区| 一区二区中文字幕av| 欧美xxxxx在线观看| 中文字幕乱码十国产乱码| 国产久爱免费精品视频| 亚洲欧美人成电影在线观看| 亚洲欧美中文日韩在线v日本| 欧洲无码一区二区三区在线观看| 99久久国产综合精品女图图等你| 亚洲欧美日韩在线不卡| 中文字幕波多野不卡一区| 无码日韩精品一区二区免费| 婷婷六月综合缴情在线| 中文字幕无码乱码人妻系列蜜桃| 国产最新AV在线播放不卡| 久久国产成人高清精品亚洲| 欧美乱妇高清无乱码免费| 一区二区不卡国产精品| 人妻影音先锋啪啪av资源| 日韩精品中文字幕国产一| 在线视频不卡在线亚洲| 国产午夜福利精品视频| 激情在线一区二区三区视频| 亚洲av成人在线一区| 亚洲中文字幕无码中字|