LeeCode144二叉樹的前序遍歷

項目場景:

給你二叉樹的根節點?root?,返回它節點值的?前序?遍歷。

示例 1:

輸入:root = [1,null,2,3]

輸出:[1,2,3]

解釋:

示例 2:

輸入:root = [1,2,3,4,5,null,8,null,null,6,7,9]

輸出:[1,2,4,5,6,7,3,8,9]

解釋:

示例 3:

輸入:root = []

輸出:[]

示例 4:

輸入:root = [1]

輸出:[1]

提示:

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


問題描述

? ? ? ? 二叉樹的遍歷對于理解數據結構樹具有非常重要的意義,本篇文章面向初學數據結構的同學講解二叉樹的前序遍歷。二叉樹的前序遍歷,即對于每一個節點,先訪問根節點,再訪問左節點,最后訪問右節點。以示例一為實例,先訪問根節點1,再訪問根點1的左節點,1的左節點為空,則跳過,進而訪問節點1的右節點2,對于節點2先訪問根節點2,進而訪問其左節點3,進而訪問節點2的右節點,右節點為空,則跳過,所有節點都經遍歷,那么遍歷結束。整個過程中遍歷得到的節點值放到一個列表中即可。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:def dfs(root:TreeNode):if not root:##節點為空返回returnres.append(root.val)##遞歸遍歷根節點dfs(root.left)##遞歸遍歷左節點dfs(root.right)##遞歸遍歷右節點res=[]dfs(root)return res

????????代碼提交情況。

?????????以上為本篇文章的全部內容,感謝你抽出寶貴的時間閱讀這篇文章。如果你有任何疑問或建議,歡迎在評論區留言,我們一起交流進步。愿你的代碼之路越走越順,生活充滿陽光!??????????????

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

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

相關文章

日本生活:日語語言學校-日語作文-溝通無國界(3)-題目:わたしの友達

日本生活&#xff1a;日語語言學校-日語作文-溝通無國界&#xff08;&#xff13;&#xff09;-題目&#xff1a;わたしの友達 1-前言2-作文原稿3-作文日語和譯本&#xff08;1&#xff09;日文原文&#xff08;2&#xff09;對應中文&#xff08;3&#xff09;對應英文 4-老師…

使用 rsync 拉取文件(從遠程服務器同步到本地)

最近在做服務器遷移&#xff0c;文件好幾個T。。。。只能單向訪問&#xff0c;服務器。怎么辦&#xff01;&#xff01;&#xff01; 之前一直是使用rsync 服務器和服務器之間的雙向同步、備份&#xff08;這是推的&#xff09;。現在服務器要遷移&#xff0c;只能單向訪問&am…

Linux 并發編程:從線程池到單例模式的深度實踐

文章目錄 一、普通線程池&#xff1a;高效線程管理的核心方案1. 線程池概念&#xff1a;為什么需要 "線程工廠"&#xff1f;2. 線程池的實現&#xff1a;從 0 到 1 構建基礎框架 二、模式封裝&#xff1a;跨語言線程庫實現1. C 模板化實現&#xff1a;類型安全的泛型…

2013年SEVC SCI2區,自適應變領域搜索算法Adaptive VNS+多目標設施布局,深度解析+性能實測

目錄 1.摘要2.自適應局部搜索原理3.自適應變領域搜索算法Adaptive VNS4.結果展示5.參考文獻6.代碼獲取7.算法輔導應用定制讀者交流 1.摘要 VNS是一種探索性的局部搜索方法&#xff0c;其基本思想是在局部搜索過程中系統性地更換鄰域。傳統局部搜索應用于進化算法每一代的解上&…

詳細介紹醫學影像顯示中窗位和窗寬

在醫學影像&#xff08;如DICOM格式的CT圖像&#xff09;中&#xff0c;**窗寬&#xff08;Window Width, WW&#xff09;和窗位&#xff08;Window Level, WL&#xff09;**是兩個核心參數&#xff0c;用于調整圖像的顯示對比度和亮度&#xff0c;從而優化不同組織的可視化效果…

Unity_VR_如何用鍵鼠模擬VR輸入

文章目錄 [TOC] 一、創建項目1.直接創建VR核心模板&#xff08;簡單&#xff09;2.創建3D核心模板導入XR包 二、添加XR設備模擬器1.打開包管理器2.添加XR設備模擬器3.將XR設備模擬器拖到場景中4.運行即可用鍵盤模擬VR輸入 一、創建項目 1.直接創建VR核心模板&#xff08;簡單&…

SpringBoot定時監控數據庫狀態

1.application.properties配置文件 # config for mysql spring.datasource.url jdbc\:mysql\://127.0.0.1\:3306/數據庫名?characterEncoding\utf8&useSSL\false spring.datasource.username 賬號 spring.datasource.password 密碼 spring.datasource.validation-quer…

Qt聯合Halcon開發一:Qt配置Halcon環境【詳細圖解流程】

在Qt中使用Halcon庫進行圖像處理開發&#xff0c;可以有效地結合Qt的圖形界面和Halcon強大的計算機視覺功能。下面是詳細的配置過程&#xff0c;幫助你在Qt項目中成功集成Halcon庫。 步驟 1: 安裝Halcon軟件并授權 首先&#xff0c;確保你已經在電腦上安裝了Halcon軟件&#x…

一體化(HIS系統)醫院信息系統,讓醫療數據互聯互通

在醫療信息化浪潮下&#xff0c;HIS系統、LIS系統、PACS系統、電子病歷系統等信息系統成為醫療機構必不可少的一部分&#xff0c;從患者掛號到看診&#xff0c;從各種檢查到用藥&#xff0c;從院內治療到院外管理……醫療機構不同部門、不同科室的各類醫療、管理業務幾乎都初步…

Spring Boot 的 3 種二級緩存落地方式

在高并發系統設計中&#xff0c;緩存是提升性能的關鍵策略之一。隨著業務的發展&#xff0c;單一的緩存方案往往無法同時兼顧性能、可靠性和一致性等多方面需求。 此時&#xff0c;二級緩存架構應運而生&#xff0c;本文將介紹在Spring Boot中實現二級緩存的三種方案。 一、二…

Android Studio Profiler使用

一:memory 參考文獻: AndroidStudio之內層泄漏工具Profiler使用指南_android studio profiler-CSDN博客

Zephyr boot

<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Zephyr設備初始化機制交互式解析…

騰訊地圖Web版解決熱力圖被輪廓覆蓋的問題

前言 你好&#xff0c;我是喵喵俠。 還記得那天傍晚&#xff0c;我正對著電腦調試一個騰訊地圖的熱力圖頁面。項目是一個區域人流密度可視化模塊&#xff0c;我加了一個淡藍色的輪廓圖層用于表示區域范圍&#xff0c;熱力圖放在下面用于展示人流熱度。效果一預覽&#xff0c;…

【JVMGC垃圾回收場景總結】

文章目錄 CMS在并發標記階段&#xff0c;已經被標記的對象&#xff0c;又被新生代跨帶引用&#xff0c;這時JVM會怎么處理?為什么 Minor GC 會發生 STW&#xff1f;有哪些對象是在棧上分配的&#xff1f;對象在 JVM 中的內存結構為什么需要對齊填充&#xff1f;JVM 對象分配空…

3_STM32開發板使用(STM32F103ZET6)

STM32開發板使用(STM32F103ZET6) 一、概述 當前所用開發板為正點原子精英板,MCU: STM32F103ZET6。一般而言,拿到板子之后先要對板子有基礎的認識,包括對開發板上電開機、固件下載、調試方法這三個部分有基本的掌握。 二、系統開機 2.1 硬件連接 直接接電源線或Type-c線…

crackme012

crackme012 名稱值軟件名稱attackiko.exe加殼方式無保護方式serial編譯語言Delphi v1.0調試環境win10 64位使用工具x32dbg,PEid破解日期2025-06-18 -發現是 16位windows 程序環境還沒搭好先留坑

CppCon 2016 學習:I Just Wanted a Random Integer

你想要一個隨機整數&#xff0c;用于模擬隨機大小的DNA讀取片段&#xff08;reads&#xff09;&#xff0c;希望覆蓋不同長度范圍&#xff0c;也能測試邊界情況。 代碼部分是&#xff1a; #include <cstdlib> auto r std::rand() % 100;它生成一個0到99之間的隨機整數&…

MySQL層級查詢實戰:無函數實現部門父路徑

本次需要擊斃的MySQL函數 函數主要用于獲取部門的完整層級路徑&#xff0c;方便在應用程序或SQL查詢中直接調用&#xff0c;快速獲得部門的上下級關系信息。執行該函數之后簡單使用SQL可以實現數據庫中部門名稱查詢。例如下面sql select name,GetDepartmentParentNames(du.de…

Python初學者教程:如何從文本中提取IP地址

Python初學者教程:如何從文本中提取IP地址 在網絡安全和數據分析領域,經常需要從文本文件中提取IP地址。本文將引導您使用Python創建一個簡單但實用的工具,用于從文本文件提取所有IP地址并將其保存到新文件中。即使您是編程新手,也可以跟隨本教程學習Python的基礎知識! …

【Redis】Redis核心探秘:數據類型的編碼實現與高速訪問之道

&#x1f4da;?前言 &#x1f31f;&#x1f31f;&#x1f31f;精彩導讀 本次我們將全面剖析Redis的核心技術要點&#xff0c;包括其豐富的數據類型體系、高效的編碼方式以及秒級響應的性能奧秘。對于渴望深入理解Redis底層機制的技術愛好者&#xff0c;這是一次難得的學習機會…