当前位置:网站首页>LeetCode 103. Binary tree zigzag level order transverse - Binary Tree Series Question 5
LeetCode 103. Binary tree zigzag level order transverse - Binary Tree Series Question 5
2022-07-06 02:16:00 【CP Coding】
Given the root of a binary tree, return the zigzag level order traversal of its nodes' values. (i.e., from left to right, then right to left for the next level and alternate between).
Example 1:

Input: root = [3,9,20,null,null,15,7] Output: [[3],[20,9],[15,7]]
Example 2:
Input: root = [1] Output: [[1]]
Example 3:
Input: root = [] Output: []
Constraints:
- The number of nodes in the tree is in the range
[0, 2000]. -100 <= Node.val <= 100
The title requires level Z Traverse the whole binary tree in font order , That is, in behavioral units , A line from left to right , The next line is from right to left , In this way, the binary tree is traversed alternately .
If you are familiar with the horizontal traversal binary tree algorithm , This question is relatively simple . I think about it , utilize BFS The algorithm traverses in behavioral units . Define a queue queue, Put the whole row of nodes into the queue each time , In each cycle, all nodes in the current queue ( That is, the nodes of the whole line ) Take out one by one , Put the values into a temporary array , Then take out the left and right child nodes of the node ( If it exists ) Put it in the queue . As required Z Font type , Every other row needs to reverse the temporary array . Finally, add all the numbers of the temporary array to the answer array .
class Solution:
def zigzagLevelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
if not root:
return []
res = []
l2r = True
q = deque([root])
while q:
n = len(q)
level = []
for i in range(n):
node = q.popleft()
level.append(node.val)
if node.left:
q.append(node.left)
if node.right:
q.append(node.right)
if l2r:
l2r = False
else:
l2r = True
level.reverse()
res.append(level)
return res边栏推荐
- 【MySQL 15】Could not increase number of max_open_files to more than 10000 (request: 65535)
- National intangible cultural heritage inheritor HD Wang's shadow digital collection of "Four Beauties" made an amazing debut!
- NLP fourth paradigm: overview of prompt [pre train, prompt, predict] [Liu Pengfei]
- Computer graduation design PHP college student human resources job recruitment network
- Spark accumulator
- Shutter doctor: Xcode installation is incomplete
- Comments on flowable source code (XXXV) timer activation process definition processor, process instance migration job processor
- Visualstudio2019 compilation configuration lastools-v2.0.0 under win10 system
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Redis string type
猜你喜欢

How to improve the level of pinduoduo store? Dianyingtong came to tell you

Audio and video engineer YUV and RGB detailed explanation

Pangolin Library: subgraph

RDD partition rules of spark

Visualstudio2019 compilation configuration lastools-v2.0.0 under win10 system

Virtual machine network, networking settings, interconnection with host computer, network configuration

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

论文笔记: 图神经网络 GAT

2022 PMP project management examination agile knowledge points (8)

SQL statement
随机推荐
[eight part essay] what is the difference between unrepeatable reading and unreal reading?
Extracting key information from TrueType font files
leetcode3、實現 strStr()
【clickhouse】ClickHouse Practice in EOI
Unity learning notes -- 2D one-way platform production method
【社区人物志】专访马龙伟:轮子不好用,那就自己造!
Install redis
I like Takeshi Kitano's words very much: although it's hard, I will still choose that kind of hot life
Global and Chinese markets of nasal oxygen tubes 2022-2028: Research Report on technology, participants, trends, market size and share
[depth first search notes] Abstract DFS
RDD creation method of spark
Online reservation system of sports venues based on PHP
【机器人库】 awesome-robotics-libraries
Publish your own toolkit notes using NPM
2022年PMP项目管理考试敏捷知识点(8)
使用npm发布自己开发的工具包笔记
Sword finger offer 12 Path in matrix
NumPy 数组索引 切片
Xshell 7 Student Edition
Virtual machine network, networking settings, interconnection with host computer, network configuration