二叉樹的層次遍歷

102. 二叉樹的層序遍歷 - 力扣(LeetCode)

題目描述

給你二叉樹的根節點?root?,返回其節點值的?層序遍歷?。 (即逐層地,從左到右訪問所有節點)。

樣例輸入

示例 1:

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

示例 2:

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

示例 3:

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

提示:

  • 樹中節點數目在范圍?[0, 2000]?內
  • -1000 <= Node.val <= 1000

題解

代碼

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> res;queue<TreeNode*> q;//使用隊列保存每層的結點if(!root) return res;q.push(root);while(!q.empty()){int n=q.size();vector<int> vec;//遍歷每層的結點,并將下一層的結點保存到隊列中for(int i=0;i<n;i++){TreeNode* node=q.front();vec.push_back(node->val);q.pop();if(node->left) q.push(node->left);if(node->right) q.push(node->right);}res.emplace_back(vec);}return res;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207015.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207015.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207015.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php研究課題

對于PHP這門語言而言&#xff0c;可以研究的課題有很多&#xff0c;以下是可能的課題方向和對應的內容&#xff1a; PHP語言基礎研究 PHP語言特性和基本語法PHP的數據類型、變量、運算符和表達式PHP的流程控制語句PHP的函數和引用PHP的面向對象編程和設計模式 PHP與Web開發 …

harmony開發之Text組件的使用

TextInput、TextArea是輸入框組件&#xff0c;通常用于響應用戶的輸入操作&#xff0c;比如評論區的輸入、聊天框的輸入、表格的輸入等&#xff0c;也可以結合其它組件構建功能頁面&#xff0c;例如登錄注冊頁面。 圖片來源黑馬程序員 Text組件的使用&#xff1a; 文本顯示組…

flutter學習-day1-環境搭建和啟動第一個項目

&#x1f4da; 目錄 SDK 下載配置環境變量安裝 flutter搭建 Android 環境SDK 和依賴升級IDE 配置與使用 Android Studio 配置與使用VS Code 配置與使用 真機調試 本文學習和引用自《Flutter實戰第二版》&#xff1a;作者&#xff1a;杜文 1. SDK下載 前置需要操作系統 window …

Spring Cloud + Vue前后端分離-第4章 使用Vue cli 4搭建管理控臺

Spring Cloud Vue前后端分離-第4章 使用Vue cli 4搭建管理控臺 4-1 使用vue cli創建admin項目 Vue 簡介 Vue作者尤雨溪在google工作時&#xff0c;最早只想研究angular的數據綁定功能&#xff0c;后面覺得這個小功能很好用&#xff0c;有前景&#xff0c;就再擴展&#xff…

[MySQL] MySQL復合查詢(多表查詢、子查詢)

前面我們學習了MySQL簡單的單表查詢。但是我們發現&#xff0c;在很多情況下單表查詢并不能很好的滿足我們的查詢需求。本篇文章會重點講解MySQL中的多表查詢、子查詢和一些復雜查詢。希望本篇文章會對你有所幫助。 文章目錄 一、基本查詢回顧 二、多表查詢 2、1 笛卡爾積 2、2…

機器學習筆記 - 基于深度學習計算視頻中演員的出鏡時間

一、基本步驟 這里是使用動畫片貓和老鼠進行計算,基本流程如下: 1、導入并讀取視頻,從中提取幀,并將其另存為圖像 2、標記一些圖像以訓練模型(別擔心,我已經為你做好了) 3、根據訓練數據構建我們的模型 4、對剩余圖像進行預測 5、計算湯姆和杰瑞的屏幕時間 二、基礎環境…

教師未來發展前景如何

作為一名教師&#xff0c;我對未來發展的前景也感到有些迷茫。 不過教育行業仍然是一個穩定的職業&#xff0c;但是隨著社會的變化和科技的發展&#xff0c;傳統的教學模式已經逐漸被在線教育、人工智能等新型教學方式所取代。這使得教師的角色和職責也在發生變化&#xff0c;需…

matplot繪圖時圖像太大報錯但能保存

matplot繪圖時&#xff0c;圖像太大&#xff0c;可能在jupyter里面報錯&#xff0c;但是圖像可以保存。 報錯&#xff1a;Image size of 12237479x675 pixels is too large. It must be less than 2^16 in each direction. 在這里插入圖片描述

Linux中用bash寫腳本

本章主要介紹如何使用bash 了解通配符了解變量了解返回值和數值運算判斷語句 grep的用法是“grep 關鍵字 file”&#xff0c;意思是從file中過濾出含有關鍵字的行 例如&#xff0c;grep root /var/log/messages&#xff0c;意思是從/var/log/messages 中過濾出含有root 的行…

SpringIOC第二課,@Bean用法,DI詳解,常見面試題Autowired VS Resource

一、回顧 但是我們之前MVC時候&#xff0c;在頁面上&#xff0c;為什只用Controller,不用其他的呢&#xff1f; 用其他的好使嗎&#xff1f;(我們可以在這里看到&#xff0c;出現404的字樣&#xff09; Service ResponseBody public class TestController {RequestMapping(&quo…

kubernetes安裝kubesphere

前置默認都安裝了k8s&#xff0c;且k8s都正常 1、nfs文件系統 1.1、安裝nfs-server # 在每個機器。 yum install -y nfs-utils# 在master 執行以下命令 echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports# 執行以下命令&#xff0c;啟動 …

數字化和數智化一字之差,究竟有何異同點?

在2023杭州云棲大會的一展臺內&#xff0c;桌子上放著一顆番茄和一個蛋糕&#xff0c;一旁的機器人手臂融入“通義千問”大模型技術后&#xff0c;變得會“思考”&#xff1a;不僅能描述“看”到了什么&#xff0c;還能確認抓取的是番茄而不是蛋糕。 “傳統的機械臂通常都只能基…

Post Quantum Fuzzy Stealth Signatures and Applications

目錄 筆記后續的研究方向摘要引言貢獻模塊化框架模糊構造實施適用于FIDO Post Quantum Fuzzy Stealth Signatures and Applications CCS 2023 筆記 后續的研究方向 摘要 自比特幣問世以來&#xff0c;基于區塊鏈的加密貨幣中的私人支付一直是學術和工業研究的主題。隱形地址…

cmd命令 常用的命令

網絡工作為常年公司里的背鍋俠&#xff0c;不得不集齊十八般武藝很難甩鍋。像cmd命令這種好用又好上手的技術&#xff0c;就是網絡工程師上班常備技能。 只要按下快捷鍵 winR&#xff0c;輸入cmd回車&#xff0c;然后輸入cmd命令。 像我自己&#xff0c;我就經常用cmd命令檢測…

在UBUNTU上使用Qemu和systemd-nspawn搭建RISC-V輕量級用戶模式開發環境

參考鏈接 使用Qemu和systemd-nspawn搭建RISC-V輕量級用戶模式開發環境 - 知乎 安裝Qemu sudo apt updatesudo apt -y install qemu-user-binfmt qemu-user-static systemd-container sudo apt -y install zstd 配置環境 RISCV_FILEarchriscv-2023-10-09.tar.zstwget -c ht…

浪潮信息KeyarchOS——保衛數字未來的安全防御利器

浪潮信息KeyarchOS——保衛數字未來的安全防御利器 前言 眾所周知&#xff0c;目前流行的操作系統有10余種&#xff0c;每一款操作系統都有自己的特點。作為使用者&#xff0c;我們該如何選擇操作系統。如果你偏重操作系統的安全可信和穩定高效&#xff0c;我推薦你使用浪潮信…

openEuler JDK21 部署 Zookeeper 集群

zookeeper-jdk21 操作系統&#xff1a;openEuler JDK&#xff1a;21 主機名IP地址spark01192.168.171.101spark02192.168.171.102spark03192.168.171.103 安裝 1. 升級內核和軟件 yum -y update2. 安裝常用軟件 yum -y install gcc gcc-c autoconf automake cmake make \zl…

E: 無法獲得鎖 /var/lib/dpkg/lock-frontend。鎖正由進程 6253(apt-get)持有

問題 解決方案 sudo rm /var/lib/dpkg/lock-frontend接著&#xff0c;繼續安裝。

el-from表單實現lable字體大小改變

<el-form-item label"活動名稱" class"my-form"> <el-input v-model"form.name" style"width: 80%;" ></el-input> </el-form-item> <style scoped lang"less"> //給當前頁面所以的lable都字…

Fiddler抓包測試

模擬弱網測試 操作&#xff1a;一、Rules - Customize Rules &#xff08;快捷鍵CtrlR&#xff09;彈出編輯器 二、接著CtrlF查找m_SimulateModem標志位 三、默認上傳300ms&#xff0c;下載150ms 四、更改后&#xff0c;繼續Rules - Performances - Simulate Modem Speeds勾上 …