摘要:題目二叉樹的鏡像題目描述操作給定的二叉樹,將其變換為源二叉樹的鏡像。代碼題目從上往下打印二叉樹題目描述從上往下打印出二叉樹的每個(gè)節(jié)點(diǎn),同層節(jié)點(diǎn)從左至右打印。解題思路借助隊(duì)列先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)讓二叉樹每層依次進(jìn)入隊(duì)列依次打印隊(duì)列中的值代碼
二叉樹簡介
基本結(jié)構(gòu):
function TreeNode(x) { this.val = x; this.left = null; this.right = null; }
二叉樹的前序、中序、后序遍歷的定義:
前序遍歷:對(duì)任一子樹,先訪問跟,然后遍歷其左子樹,最后遍歷其右子樹;
中序遍歷:對(duì)任一子樹,先遍歷其左子樹,然后訪問根,最后遍歷其右子樹;
后序遍歷:對(duì)任一子樹,先遍歷其左子樹,然后遍歷其右子樹,最后訪問根。
題目1 二叉樹的鏡像 1.1 題目描述操作給定的二叉樹,將其變換為源二叉樹的鏡像。
輸入描述: 二叉樹的鏡像定義:源二叉樹 8 / 6 10 / / 5 7 9 11 鏡像二叉樹 8 / 10 6 / / 11 9 7 51.2 解題思路
遞歸交換二叉樹兩棵字樹的位置。
1.3 代碼function Mirror(root) { if(root){ const temp = root.right; root.right = root.left; root.left = temp; Mirror(root.right); Mirror(root.left); } }題目2 從上往下打印二叉樹 2.1 題目描述
從上往下打印出二叉樹的每個(gè)節(jié)點(diǎn),同層節(jié)點(diǎn)從左至右打印。
2.2 解題思路1.借助隊(duì)列先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)
2.讓二叉樹每層依次進(jìn)入隊(duì)列
3.依次打印隊(duì)列中的值
2.3 代碼function PrintFromTopToBottom(root) { const queue = []; const print = []; if(root != null){ queue.push(root); } while (queue.length > 0) { const current = queue.shift(); print.push(current.val); if (current.left) { queue.push(current.left); } if (current.right) { queue.push(current.right); } } return print; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101034.html
摘要:題目操作給定的二叉樹,將其變換為源二叉樹的鏡像。再遞歸的對(duì)左子樹,以及右子樹進(jìn)行翻轉(zhuǎn)。比如左右有一個(gè)是代碼執(zhí)行到交換沒啥問題執(zhí)行到遞歸,左子樹就結(jié)束掉了。 題目 操作給定的二叉樹,將其變換為源二叉樹的鏡像。二叉樹的鏡像定義:源二叉樹 8 / 6 10 / / 5 7 9 ...
摘要:例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹并返回。操作給定的二叉樹,將其變換為源二叉樹的鏡像。劍指中還有一道類似的變種題目,就是下面的這道,之字形遍歷二叉樹。最后下面的兩道題目分別運(yùn)用了二叉樹先序中序遍歷算法。 開篇 以下內(nèi)容可能偏應(yīng)試但很好理解,所以大家一定要堅(jiān)持看下去,因?yàn)槲覀冏儚?qiáng)的過程注定孤獨(dú)的,堅(jiān)持下來就會(huì)看到明天的太陽。 回顧 showImg(https://user-...
閱讀 2853·2021-11-19 09:40
閱讀 3709·2021-11-15 18:10
閱讀 3294·2021-11-11 16:55
閱讀 1252·2021-09-28 09:36
閱讀 1666·2021-09-22 15:52
閱讀 3378·2019-08-30 14:06
閱讀 1172·2019-08-29 13:29
閱讀 2322·2019-08-26 17:04