国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

做門戶類網(wǎng)站報價上海疫情又要爆發(fā)了

做門戶類網(wǎng)站報價,上海疫情又要爆發(fā)了,南昌網(wǎng)站建設資訊,東莞網(wǎng)站建設三合一目錄 1 基礎知識 1.1 先序遍歷 1.2 中序遍歷 1.3 后序遍歷 2 94. 二叉樹的中序遍歷 3 104. 二叉樹的最大深度 4 226. 翻轉(zhuǎn)二叉樹 5 101. 對稱二叉樹 菜鳥做題,語言是 C 1 基礎知識 二叉樹常見的遍歷方式有: 先序遍歷中序遍歷后序遍歷…

目錄

1? 基礎知識

1.1? 先序遍歷

1.2? 中序遍歷

1.3? 后序遍歷

2? 94. 二叉樹的中序遍歷

3? 104. 二叉樹的最大深度

4? 226. 翻轉(zhuǎn)二叉樹

5? 101. 對稱二叉樹


菜鳥做題,語言是 C++

1? 基礎知識

二叉樹常見的遍歷方式有:

  • 先序遍歷
  • 中序遍歷
  • 后序遍歷
  • 深度優(yōu)先遍歷 = 先序遍歷
  • 廣度優(yōu)先遍歷 = 層次遍歷(后面有道題)

其實稍微觀察一下就可以發(fā)現(xiàn),“先序”、“中序”、“后序” 針對的是根節(jié)點的位置。即在 (根節(jié)點,左子樹,右子樹) 這個三元組中,根節(jié)點處于哪個位置。

1.1? 先序遍歷
  1. 根節(jié)點
  2. 根節(jié)點的左子樹
  3. 根節(jié)點的右子樹
vector<int> ans;
void preorder(TreeNode* root) {if (!root) return;ans.push_back(root->val);preorder(root->left);preorder(root->right);
}

這個例子包括后面的兩個例子,都是按照指定順序遍歷二叉樹,同時將每個節(jié)點的值放入到容器 ans 中。

1.2? 中序遍歷
  1. 根節(jié)點的左子樹
  2. 根節(jié)點
  3. 根節(jié)點的右子樹
vector<int> ans;
void inorder(TreeNode* root) {if (!root) return;inorder(root->left);ans.push_back(root->val);inorder(root->right);
}

1.3? 后序遍歷
  1. 根節(jié)點的左子樹
  2. 根節(jié)點的右子樹
  3. 根節(jié)點
vector<int> ans;
void postorder(TreeNode* root) {if (!root) return;postorder(root->left);postorder(root->right);ans.push_back(root->val);
}

2? 94. 二叉樹的中序遍歷

屬于中序遍歷(顯然)

通過第 1 節(jié)的介紹,想必解決這個問題就很容易了。需要注意的是,我們的遞歸可以不需要返回值,因此需要額外寫一個返回值為 void 的函數(shù)(但貌似你每次都返回一個 vector<int> 也行得通)

class Solution {
public:void inorder(TreeNode* root, vector<int>& ans) {if (!root) return;inorder(root->left, ans);ans.push_back(root->val);inorder(root->right, ans);}vector<int> inorderTraversal(TreeNode* root) {vector<int> ans;inorder(root, ans);return ans;}
};

3? 104. 二叉樹的最大深度

屬于后序遍歷:先獲得左右子樹的最大深度,再獲得本子樹的最大深度

class Solution {
public:int maxDepth(TreeNode* root) {if (!root) return 0;int leftMaxDepth = maxDepth(root->left);int rightMaxDepth = maxDepth(root->right);return 1 + max(leftMaxDepth, rightMaxDepth);}
};

精簡版:

class Solution {
public:int maxDepth(TreeNode* root) {if (!root) return 0;return 1 + max(maxDepth(root->left), maxDepth(root->right));}
};

4? 226. 翻轉(zhuǎn)二叉樹

屬于先序遍歷

解題思路:

  1. 完成當前節(jié)點的翻轉(zhuǎn)
  2. 完成其左右子樹的翻轉(zhuǎn)
class Solution {
public:TreeNode* invertTree(TreeNode* root) {if (!root) return nullptr;TreeNode * temp = root->right;root->right = root->left;root->left = temp;invertTree(root->left);invertTree(root->right);return root;}
};

這道題就沒有單獨寫一個返回值為 void 的函數(shù),雖然遞歸期間的返回值都沒有派上用場,但是最重要的是最后一個返回值,它返回的是整棵二叉樹的根節(jié)點,符合本題對返回值的要求。

5? 101. 對稱二叉樹

屬于先序遍歷;少有的參數(shù)需要傳兩個指針的題

解題思路:

  1. 判斷左右對稱位置上的兩個節(jié)點是否都存在
  2. 判斷這兩個節(jié)點的值是否相等
  3. 判斷這兩個節(jié)點的左右子樹是否對稱

思路說明圖:

  • 對稱位置上的兩個節(jié)點進行比較,即左側(cè)的 “2” 和右側(cè)的 “2”
  • 左側(cè)的 “2” 的左子樹和右側(cè)的 “2” 的右子樹進行比較
  • 左側(cè)的 “2” 的右子樹和右側(cè)的 “2” 的左子樹進行比較
class Solution {
public:bool check(TreeNode * p, TreeNode * q) {if (!p && !q) return true;if (!p || !q) return false;return p->val == q->val &&check(p->left, q->right) && check(p->right, q->left);}bool isSymmetric(TreeNode* root) {return check(root->left, root->right);}
};

說明:

if (!p && !q) return true;
if (!p || !q) return false;

第一行判斷是指,當 p 和 q 都為空指針時,屬于是對稱的情況;第二行判斷是指,當 p 和 q 中只有一方為空指針時,屬于是非對稱的情況。

http://aloenet.com.cn/news/29495.html

相關(guān)文章:

  • 網(wǎng)站服務器租用有什么好學大教育一對一收費價格表
  • 郴州企業(yè)網(wǎng)站建設制作營銷案例100例
  • 網(wǎng)站建站建設網(wǎng)站中國企業(yè)500強排行榜
  • a0000網(wǎng)站建設2022年seo最新優(yōu)化策略
  • 博山網(wǎng)站建設網(wǎng)頁制作基礎教程
  • 四川城鄉(xiāng)住房建設廳官方網(wǎng)站seo搜索優(yōu)化公司排名
  • 新華社官網(wǎng)百度推廣怎么優(yōu)化
  • 深圳平湖網(wǎng)站建設有免費推廣平臺
  • 東莞網(wǎng)站推廣優(yōu)化建設seo站長工具
  • 吳橋縣網(wǎng)站建設價格沈陽頭條今日頭條新聞最新消息
  • 網(wǎng)站做分站360收錄批量查詢
  • 多少網(wǎng)站域名采用中文四川全網(wǎng)推網(wǎng)絡推廣
  • 服務器的做網(wǎng)站空間北京疫情最新新聞
  • 重慶網(wǎng)站建設最大seo自然排名關(guān)鍵詞來源的優(yōu)缺點
  • 赤峰做網(wǎng)站的公司鄭州seo優(yōu)化顧問熱狗
  • 商城界面設計武漢seo服務多少錢
  • 網(wǎng)站改版 域名百度愛企查電話人工服務總部
  • 武漢網(wǎng)站制作模板小程序推廣方案
  • 怎么做bt爬蟲網(wǎng)站seo專員是什么職位
  • 醫(yī)美三方網(wǎng)站怎么做首頁百度
  • 做軟件跟網(wǎng)站哪個難全國各城市疫情高峰感染進度
  • 廈門網(wǎng)站建設公司推薦windows優(yōu)化大師破解版
  • 發(fā)外鏈的網(wǎng)站都要企業(yè)注冊需要優(yōu)化的地方
  • 做動態(tài)網(wǎng)站怎樣配置iisb2b商務平臺
  • 專業(yè)網(wǎng)站制作公司教程長尾關(guān)鍵詞什么意思
  • 小白如何免費做網(wǎng)站阿里巴巴國際站關(guān)鍵詞推廣
  • 張家港網(wǎng)站制作哪家好站長資源平臺
  • 如何做網(wǎng)站結(jié)構(gòu)優(yōu)化鄭州粒米seo顧問
  • 做網(wǎng)站的代碼常用的網(wǎng)絡推廣方法有哪些
  • 響應式網(wǎng)站 圖片尺寸奇數(shù)手機百度最新正版下載