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

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

石家莊做網(wǎng)站seo宣傳鏈接怎么做

石家莊做網(wǎng)站seo,宣傳鏈接怎么做,wordpress b2c模板,wordpress 男孩同志一、題目描述 給你二叉樹的根節(jié)點(diǎn) root ,返回其節(jié)點(diǎn)值 自底向上的層序遍歷 。 (即按從葉子節(jié)點(diǎn)所在層到根節(jié)點(diǎn)所在的層,逐層從左向右遍歷) 示例 1: 輸入:root [3,9,20,null,null,15,7] 輸出:[…

一、題目描述

給你二叉樹的根節(jié)點(diǎn) root ,返回其節(jié)點(diǎn)值 自底向上的層序遍歷 。 (即按從葉子節(jié)點(diǎn)所在層到根節(jié)點(diǎn)所在的層,逐層從左向右遍歷)

示例 1:

輸入:root = [3,9,20,null,null,15,7]
輸出:[[15,7],[9,20],[3]]

示例 2:

輸入:root = [1]
輸出:[[1]]

示例 3:

輸入:root = []
輸出:[]

提示:

  • 樹中節(jié)點(diǎn)數(shù)目在范圍 [0, 2000] 內(nèi)
  • -1000 <= Node.val <= 1000

二、解題思路

?這個問題是關(guān)于如何對二叉樹進(jìn)行自底向上的層序遍歷。我們可以使用一個隊(duì)列來進(jìn)行廣度優(yōu)先搜索(BFS),并使用一個變量來記錄當(dāng)前層的節(jié)點(diǎn)值。在遍歷每一層的時候,我們使用一個雙端隊(duì)列(Deque)來存儲當(dāng)前層的節(jié)點(diǎn)值,這樣我們就可以從雙端隊(duì)列的尾部開始遍歷,從而實(shí)現(xiàn)自底向上的層序遍歷。

算法步驟:

  1. 初始化一個空隊(duì)列queue用于BFS,以及一個空的雙端隊(duì)列deque用于存儲當(dāng)前層的節(jié)點(diǎn)值。
  2. 如果root不為空,則將其加入queue。
  3. 初始化一個變量level為0,用于標(biāo)識當(dāng)前層的奇偶性。
  4. 當(dāng)queue不為空時,進(jìn)行以下操作:?a. 獲取當(dāng)前層的節(jié)點(diǎn)數(shù)量size(即queue的長度)。?b. 遍歷當(dāng)前層的節(jié)點(diǎn),對于每個節(jié)點(diǎn):?i. 從queue中移除節(jié)點(diǎn),并將其值加入deque的頭部(如果level為偶數(shù))或尾部(如果level為奇數(shù))。?ii. 如果該節(jié)點(diǎn)的左子節(jié)點(diǎn)不為空,將其加入queue。?iii. 如果該節(jié)點(diǎn)的右子節(jié)點(diǎn)不為空,將其加入queue。?c. 將deque轉(zhuǎn)換為列表,并加入結(jié)果列表result。?d. 將level加1,清空deque。
  5. 返回結(jié)果列表result

三、具體代碼

import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;public class Solution {public List<List<Integer>> levelOrderBottom(TreeNode root) {List<List<Integer>> result = new ArrayList<>();if (root == null) {return result;}Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);int level = 0;while (!queue.isEmpty()) {int size = queue.size();Deque<Integer> deque = new LinkedList<>();for (int i = 0; i < size; i++) {TreeNode node = queue.poll();if (node != null) {deque.offerLast(node.val);queue.offer(node.left);queue.offer(node.right);}}if (!deque.isEmpty()) {result.add(0, new ArrayList<>(deque));}}return result;}
}

四、時間復(fù)雜度和空間復(fù)雜度

1. 時間復(fù)雜度
  • levelOrderBottom?函數(shù)會對每個節(jié)點(diǎn)進(jìn)行一次操作,其中?n?是樹中節(jié)點(diǎn)的數(shù)量。
  • 因此,總的時間復(fù)雜度是 O(n)。
2. 空間復(fù)雜度
  • 空間復(fù)雜度主要取決于隊(duì)列和雙端隊(duì)列中存儲的節(jié)點(diǎn)數(shù)量。
  • 在最壞的情況下,樹是完全不平衡的,例如每個節(jié)點(diǎn)都只有左子節(jié)點(diǎn)或者只有右子節(jié)點(diǎn),此時隊(duì)列和雙端隊(duì)列中存儲的節(jié)點(diǎn)數(shù)量最多,為 O(n)。
  • 因此,總的空間復(fù)雜度是 O(n)。

綜上所述,代碼的時間復(fù)雜度是 O(n),空間復(fù)雜度也是 O(n),其中 n 是樹中節(jié)點(diǎn)的數(shù)量。

五、總結(jié)知識點(diǎn)

  1. 隊(duì)列(Queue)的使用:代碼中使用了LinkedList類作為Queue的實(shí)現(xiàn),用于在BFS中存儲待遍歷的節(jié)點(diǎn)。隊(duì)列遵循先進(jìn)先出(FIFO)的原則。

  2. 遞歸:雖然代碼中沒有直接使用遞歸,但BFS本質(zhì)上是一種遞歸的過程,通過循環(huán)模擬遞歸的調(diào)用棧。

  3. 雙端隊(duì)列(Deque)的使用:代碼中使用了LinkedList類作為Deque的實(shí)現(xiàn),用于在每一層遍歷時存儲當(dāng)前層的節(jié)點(diǎn)值。雙端隊(duì)列可以同時從兩端添加或刪除元素。

  4. 迭代與循環(huán):使用while循環(huán)來迭代遍歷樹的每一層,直到隊(duì)列為空。

  5. 條件語句:使用if-else語句來判斷節(jié)點(diǎn)是否為空,以及判斷隊(duì)列是否為空。

  6. 數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換:使用ArrayListLinkedList之間的轉(zhuǎn)換,將Deque中的元素轉(zhuǎn)換為一個List,然后添加到結(jié)果List中。

  7. 布爾變量的使用:使用布爾變量level來標(biāo)志當(dāng)前層的奇偶性,并在每層遍歷后取反。

  8. 樹節(jié)點(diǎn)的定義:代碼中使用了TreeNode類來定義二叉樹的節(jié)點(diǎn),每個節(jié)點(diǎn)包含一個整數(shù)值和指向左右子節(jié)點(diǎn)的引用。

  9. 函數(shù)返回值levelOrderBottom函數(shù)返回一個包含多層的List<List<Integer>>,表示二叉樹的自底向上的層序遍歷結(jié)果。

  10. 邊界條件的處理:在函數(shù)開始時檢查root是否為空,如果為空則直接返回一個空列表。

以上就是解決這個問題的詳細(xì)步驟,希望能夠?yàn)楦魑惶峁﹩l(fā)和幫助。

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

相關(guān)文章:

  • 客戶可以自主發(fā)帖的網(wǎng)站建設(shè)百度網(wǎng)絡(luò)營銷中心app
  • 合肥營銷網(wǎng)站建設(shè)聯(lián)系方式百度站長工具平臺登錄
  • 杭州微信網(wǎng)站制作seo用什么工具
  • 南京專業(yè)做網(wǎng)站的公司哪家好網(wǎng)絡(luò)平臺宣傳方式有哪些
  • jsp做的網(wǎng)站可以用的站長分析工具
  • 崇文門網(wǎng)站建設(shè)做游戲推廣怎么找客戶
  • 瀏覽量代碼wordpressseo全稱英文怎么說
  • 西昌網(wǎng)站制作杭州網(wǎng)站優(yōu)化效果
  • 自建站怎么搭建廈門網(wǎng)站流量優(yōu)化價格
  • 新建網(wǎng)站推廣優(yōu)化疫情政策
  • 凡科做網(wǎng)站怎么樣競價推廣賬戶競價托管
  • 做網(wǎng)站需要的圖片鄭州關(guān)鍵詞網(wǎng)站優(yōu)化排名
  • 發(fā)布網(wǎng)站需要備案嗎cdq百度指數(shù)
  • 淄博建網(wǎng)站哪家好今日要聞10條
  • 安亭做網(wǎng)站公司核心關(guān)鍵詞和長尾關(guān)鍵詞舉例
  • 軍隊(duì)房地產(chǎn)與建設(shè)工程法律實(shí)務(wù)在哪個網(wǎng)站可以購買惠州seo網(wǎng)站管理
  • 東莞網(wǎng)站開發(fā)教程百度識圖搜索
  • 全椒網(wǎng)站建設(shè)八零云自助建站免費(fèi)建站平臺
  • 用記事本做電影介紹的網(wǎng)站口碑營銷ppt
  • 調(diào)用文章wordpress常州百度搜索優(yōu)化
  • 婚紗攝影網(wǎng)站應(yīng)該如何做優(yōu)化應(yīng)用商店app下載
  • wordpress now長沙網(wǎng)站優(yōu)化公司
  • 如何在圖片上添加文字做網(wǎng)站小紅書推廣方案
  • 24小時客服在線電話百度seo培訓(xùn)課程
  • 定州網(wǎng)站建設(shè)電話百度廣告投放公司
  • 長沙哪里做網(wǎng)站好今日國內(nèi)新聞頭條15條
  • 呂梁網(wǎng)站開發(fā)本地推廣最有效的方法
  • 關(guān)于網(wǎng)站建設(shè)與發(fā)布的書籍怎樣做一個網(wǎng)頁
  • 廣州出現(xiàn)新病毒最新消息seo外鏈發(fā)布工具
  • 阿里網(wǎng)站怎么建設(shè)多地優(yōu)化完善疫情防控措施