中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站掙錢快又多武漢seo招聘

做網(wǎng)站掙錢快又多,武漢seo招聘,下載2345瀏覽器并安裝,注冊(cè)工程公司名稱大全有沒有一起拼用銀行卡的,取錢的時(shí)候我用,存錢的時(shí)候你用 1、相同的樹 難度等級(jí):? 直達(dá)鏈接:相同的樹 2、單值二叉樹 難度等級(jí):? 直達(dá)鏈接:單值二叉樹 3、對(duì)稱二叉樹 難度等級(jí):?? 直達(dá)…

在這里插入圖片描述有沒有一起拼用銀行卡的,取錢的時(shí)候我用,存錢的時(shí)候你用

1、相同的樹

難度等級(jí):?
直達(dá)鏈接:相同的樹

2、單值二叉樹

難度等級(jí):?
直達(dá)鏈接:單值二叉樹

3、對(duì)稱二叉樹

難度等級(jí):??
直達(dá)鏈接:對(duì)稱二叉樹

4、二叉樹的前序遍歷

難度等級(jí):???
直達(dá)鏈接:二叉樹的前序遍歷

5、另一顆樹的子樹

難度等級(jí):????
直達(dá)鏈接:另一顆子樹
–?–?–?–?–?–?–?–?–?–?–?–?–?–?–?-正文開始-?–?–?–?–?–?–?–?–?–?–?–?–?–?–?–

1、相同的樹

直達(dá)鏈接:相同的樹
題目:
在這里插入圖片描述解題思路:

判斷兩個(gè)二叉樹是否相同,而二叉樹又分為根和左右子二叉樹,左右子二叉樹也可以再分(有的話),即需要判斷根是否相同,相同再繼續(xù)比較左右子樹,比較左右子樹也是需要判斷根是否相同,相同的話繼續(xù)向下比較,這就比較適合用遞歸來進(jìn)行解題。

那么下面我們就需要找最小子問題,也就是判斷遞歸終止的條件,這里我們需要考慮到空指針的問題

1.傳過來的兩個(gè)形參可能都是空指針,那么直接返回true

2.而也可能有一個(gè)為空,那么就返回false

3.兩個(gè)都不為空比較數(shù)值是否相等即可

解題代碼:

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//兩個(gè)指針都為空if(p == NULL && q == NULL){return true;}//其中有一個(gè)為空if(p == NULL || q == NULL){return false;}//兩個(gè)指針都不為空if(p->val != q->val){return false;}return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}

這里以下面兩個(gè)二叉樹給大家進(jìn)行代碼遞歸圖解,其他的大家可以自行動(dòng)手,有利于加深理解
在這里插入圖片描述代碼遞歸圖解:
在這里插入圖片描述

2、單值二叉樹

直達(dá)鏈接:單值二叉樹
題目:
在這里插入圖片描述解題思路:

這道題并不難,還是依照老套路進(jìn)行遞歸遍歷,比較根和子節(jié)點(diǎn)的值,不相等就返回false,相等就繼續(xù)想向下進(jìn)行遞歸(有的話),再比較根和子節(jié)點(diǎn)。。。

那么我們還需要考慮一個(gè)遞歸最小子問題,所傳的形參為空指針的情況,形參為空指針也分兩種情況:

1.開始所傳的就是空指針
2.遞歸到葉節(jié)點(diǎn)的子節(jié)點(diǎn)

這兩種情況都直接返回true即可。

解題代碼:

bool isUnivalTree(struct TreeNode* root) {//根為空if(root == NULL){return true;}//根不為空if(root->left && root->val != root->left->val){return false;}if(root->right && root->val != root->right->val){return false;}return isUnivalTree(root->left) && isUnivalTree(root->right);
}

我們以下面二叉樹舉例進(jìn)行遞歸圖解:
在這里插入圖片描述

代碼遞歸圖解:
在這里插入圖片描述方塊表示調(diào)用該函數(shù)在內(nèi)存上所開辟的空間,圓表示訪問子節(jié)點(diǎn)的數(shù)值。

3、對(duì)稱二叉樹

直達(dá)鏈接:對(duì)稱二叉樹
題目:
在這里插入圖片描述解題思路:

這道OJ題讀完題目再看所給的函數(shù)接口大家可能就一頭霧水了。
函數(shù)中所傳的形參只有一個(gè)二叉樹的指針。
而我們要進(jìn)行對(duì)稱判斷的話是必須左右子樹同時(shí)進(jìn)行遞歸到相應(yīng)位置節(jié)點(diǎn)判斷節(jié)點(diǎn)是否相等。
這就有點(diǎn)難辦了,同學(xué)可以先思考如何進(jìn)行解決

假如已經(jīng)進(jìn)入到二叉樹的兩個(gè)子樹判斷,這里就和判斷相同二叉樹一樣了

1.兩個(gè)根節(jié)點(diǎn)都為空返回true
2.只有一個(gè)為空返回false
3.都不為空判斷是否相等

解題代碼:

bool is_Symmetric(struct TreeNode* left,struct TreeNode* right)
{//為空情況if(left == NULL && right == NULL){return true;}if(left == NULL || right == NULL){return false;}//不為空if(left->val != right->val){return false;}return is_Symmetric(left->left,right->right) && is_Symmetric(left->right,right->left);
}bool isSymmetric(struct TreeNode* root) {return is_Symmetric(root->left,root->right);
}

看到代碼想必大家已經(jīng)恍然大悟了
我們可以再創(chuàng)造一個(gè)函數(shù)將root的左右節(jié)點(diǎn)作為實(shí)參進(jìn)行傳遞,這樣就解決只有一個(gè)根節(jié)點(diǎn)指針的問題了

到is_Symmetric函數(shù)中實(shí)現(xiàn)邏輯與上面題相同的樹就一樣了,這里就不再進(jìn)行遞歸圖解了

4、二叉樹的前序遍歷

直達(dá)鏈接:二叉樹的前序遍歷
題目:
在這里插入圖片描述解題思路:

對(duì)于前序遍歷在我之前的博客中已經(jīng)講到過,認(rèn)真學(xué)習(xí)了的話對(duì)于前序遍歷大家應(yīng)該是小菜一點(diǎn)的

這題對(duì)第一次做的同學(xué)主要難的有兩點(diǎn):
1.對(duì)于解題框中preorderTraversal函數(shù)所傳的實(shí)參int returnSize不知道什么意思
2.如何將前序遍歷存入到一個(gè)數(shù)組中
*

解題代碼:

//計(jì)算樹的節(jié)點(diǎn)
int Treesize(struct TreeNode* root)
{return root == NULL ?0 :  Treesize(root->left)+Treesize(root->right)+1;
}void preorder(struct TreeNode* root,int*arr,int* i)
{if(root == NULL){return;}arr[(*i)++] = root->val;preorder(root->left,arr,i);preorder(root->right,arr,i);
}//return Size 返回?cái)?shù)組的個(gè)數(shù)
int* preorderTraversal(struct TreeNode* root, int* returnSize) {(*returnSize) = Treesize(root);int* arr = (int*)malloc(sizeof(int)*(*returnSize));int i = 0;preorder(root,arr,&i);return arr;
}

代碼講解:

看了代碼大家就會(huì)知道,returnSize其實(shí)是指所開辟數(shù)組空間數(shù)據(jù)的個(gè)數(shù),這是力扣中寫題的一貫格式,返回一個(gè)數(shù)組必須計(jì)算出其對(duì)應(yīng)的空間大小。

對(duì)于如何將前序遍歷存儲(chǔ)到數(shù)組中我們看了代碼我想大家就會(huì)明白,而這里需要注意的一點(diǎn)的訪問數(shù)組的下標(biāo)變量i使用的是地址,而不是數(shù)值,因?yàn)樵谡{(diào)用函數(shù)前序遍歷存儲(chǔ)到數(shù)組中存儲(chǔ)一個(gè)數(shù)據(jù),下標(biāo)i是需要加1往后進(jìn)行移動(dòng)的,而如果傳數(shù)值進(jìn)行下標(biāo)的訪問可能會(huì)出現(xiàn)在同一個(gè)下標(biāo)位置多次存儲(chǔ)的BUG,其原因就是形參只是實(shí)參的一份臨時(shí)拷貝,而要想真正訪問到實(shí)參所對(duì)應(yīng)的數(shù)值就需要傳指針進(jìn)行解引用。

5、另一顆樹的子樹

直達(dá)鏈接:另一顆子樹
題目:
在這里插入圖片描述解題思路:

這題看似沒有頭緒,其實(shí)也不難
在判斷是否含有子樹時(shí),我們可以直接調(diào)用之前寫過的相等的樹的題解(是不是恍然大悟😁)
那么我們需要判斷的只有當(dāng)root的節(jié)點(diǎn)值與subRoot的節(jié)點(diǎn)值相等時(shí),直接進(jìn)入判斷當(dāng)前子樹與subRoot是否相等即可。
當(dāng)然當(dāng)遞歸到二叉樹的葉子節(jié)點(diǎn)之后為空節(jié)點(diǎn)時(shí)說明root中不含有subRoot子樹

解題代碼:

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//兩個(gè)指針中有一個(gè)為空if(p == NULL && q == NULL){return true;}//其中有一個(gè)為空if(p == NULL || q == NULL){return false;}//兩個(gè)指針都不為空if(p->val != q->val){return false;}return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){if(root == NULL){return false;}if(root->val == subRoot->val && isSameTree(root,subRoot)){return true;}return isSubtree(root->left,subRoot)|| isSubtree(root->right,subRoot);
}

我們以下面例子為大家進(jìn)行遞歸圖解:
在這里插入圖片描述

遞歸圖解:
在這里插入圖片描述注意最后判斷對(duì)錯(cuò)用的||
大家可以跟著邏輯捋一遍邏輯(做完圖才發(fā)現(xiàn)不能顯示完整😭,上面遞歸圖解邏輯是從中間開始的大家也可以自己手動(dòng)繪個(gè)圖)

完結(jié)撒?

如果以上內(nèi)容對(duì)你有幫助不妨點(diǎn)贊支持一下,以后還會(huì)分享更多編程知識(shí),我們一起進(jìn)步。
最后我想講的是,據(jù)說點(diǎn)贊的都能找到漂亮女朋友?
在這里插入圖片描述

http://www.risenshineclean.com/news/57027.html

相關(guān)文章:

  • 做網(wǎng)站的網(wǎng)絡(luò)公司有哪些linux網(wǎng)站入口
  • 網(wǎng)站建設(shè)公司前景如何在百度上營(yíng)銷
  • 網(wǎng)站開發(fā)論文結(jié)論百度游戲排行榜
  • 北京設(shè)計(jì)制作網(wǎng)站制作包頭網(wǎng)站建設(shè)推廣
  • 做個(gè)網(wǎng)站 多少錢網(wǎng)絡(luò)新聞發(fā)布平臺(tái)
  • 專業(yè)建設(shè)企業(yè)網(wǎng)站免費(fèi)做網(wǎng)站的平臺(tái)
  • 正規(guī)網(wǎng)站開發(fā)公司seo公司排名教程
  • 制作購(gòu)物網(wǎng)站怎么做seo網(wǎng)站關(guān)鍵詞優(yōu)化
  • dns設(shè)置 看國(guó)外網(wǎng)站百度應(yīng)用下載
  • 網(wǎng)站制作百度網(wǎng)盤網(wǎng)絡(luò)推廣比較經(jīng)典和常用的方法有
  • wordpress tdk鄭州seo排名扣費(fèi)
  • 彩票自己開盤做網(wǎng)站多地優(yōu)化完善疫情防控措施
  • 哪些網(wǎng)站可以做招商廣告持啊傳媒企業(yè)推廣
  • wordpress更改路徑湖北網(wǎng)站seo設(shè)計(jì)
  • 中國(guó)新聞社是央企嗎成都seo
  • 做網(wǎng)站可以申請(qǐng)國(guó)家補(bǔ)助嗎西安網(wǎng)站制作建設(shè)
  • 哪些網(wǎng)站是react做的企業(yè)培訓(xùn)師資格證報(bào)考2022
  • 山東泰安最新疫情深圳搜狗seo
  • 網(wǎng)站建設(shè)報(bào)名系統(tǒng)是真的嗎蘇州seo快速優(yōu)化
  • 杭州哪里做網(wǎng)站好如何快速推廣網(wǎng)上國(guó)網(wǎng)
  • 1.網(wǎng)站建設(shè)基本流程是什么關(guān)鍵詞排名優(yōu)化技巧
  • 網(wǎng)站專題頁面設(shè)計(jì)欣賞網(wǎng)絡(luò)營(yíng)銷是指
  • 企業(yè)信用網(wǎng)站建設(shè)網(wǎng)絡(luò)運(yùn)營(yíng)培訓(xùn)哪里有學(xué)校
  • 微企免費(fèi)網(wǎng)站建設(shè)制作網(wǎng)站要花多少錢
  • 班級(jí)網(wǎng)站源代碼下載關(guān)鍵詞查網(wǎng)址
  • thinkphp開發(fā)企業(yè)網(wǎng)站廣州seo網(wǎng)站推廣優(yōu)化
  • 做網(wǎng)站容易找工作嗎互聯(lián)網(wǎng)推廣有哪些方式
  • 怎么建設(shè)企業(yè)網(wǎng)站網(wǎng)絡(luò)推廣營(yíng)銷
  • 濟(jì)南集團(tuán)網(wǎng)站建設(shè)公司河南推廣網(wǎng)站
  • 做網(wǎng)站有2個(gè)前提條件 一個(gè)是網(wǎng)站如何做百度免費(fèi)推廣