103. Binary Tree Zigzag Level Order Traversal【M】

【leetcode-Python】-103. Binary Tree Zigzag Level Order Traversal 题目链接 https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ 题目描述 给定一棵二叉树,返回树的zigzag层次遍历结果(当前层从左向右遍历,下一层就从右向左遍历......)。 示例 给定二叉树: 3 / \ 9 20 / \ 15 7 返回的zigzag层次遍历结果为: [ [3], [20,9], [15,7] ] 解决思路一 这道题类似 阅读详情

Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).

For example:
Given binary tree [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its zigzag level order traversal as:

[
  [3],
  [20,9],
  [15,7]
]

Subscribe to see which companies asked this question.



这道题的关键在于,怎么判断每一层,以及,怎么zigzag地遍历

一个是,每一层分别记录,然后根据层数,把结果置反

另一个是,对每一层判断,分奇数偶数,然后,把结果插入的时候,一个是不断插在队伍的最前面,另一个是不断插在队伍的最后


# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def zigzagLevelOrder(self, root):
        if not root:
            return []

        s = [root]
        s1 = []
        level = 1
        res = []
        while 1:
            temp = []
            for i in s:
                if level % 2 == 1:
                    temp += i.val,
                else:
                    temp = [i.val] + temp

                if i.left:
                    s1 += i.left,
                if i.right:
                    s1 += i.right,
            level += 1
            #print temp
            res += temp,
            if s1 == []:
                break
            s = s1[:]
            s1 = []
        return res






PWM调光原理详解:为什么你的LED灯会闪烁?从硬件到软件的避坑指南 本文深入解析PWM调光原理,揭示LED灯闪烁的根本原因,并提供从硬件设计到软件算法的全面解决方案。通过分析人眼视觉暂留机制和PWM参数设置,帮助开发者避免频闪问题,提升照明质量。特别适合电子工程师和智能家居开发者参考。 阅读详情

相关推荐

Xcelium XRUN实用指南:从入门到高效仿真

本文是Xcelium XRUN仿真工具的实用指南,从基础入门到高效应用全面解析。XRUN作为Cadence Xcelium的统一命令行入口,能自动化编译、精细和仿真流程,大幅提升数字芯片与FPGA验证效率。文章详细介绍了最简命令、波形调试、增量编译、多核并行仿真等核心功能,并提供了管理复杂项目、性能调优与深度调试的进阶技巧,帮助工程师快速上手并精通这一高效仿真工具。

weixin_29238147的博客 741

【LeetCode】103. Binary Tree Zigzag Level Order Traversal 解题报告

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51471280Subject 出处:https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Given a binary tree, return the zigzag level ord

crazy_jack 9869

计算机组成原理 微程序控制器实验

微程序控制器实验 实验环境 计算机组成原理实验环境 实验目的 掌握微程序控制器的组成原理和工作过程。 理解微指令和微程序的概念,理解微指令与指令的区别与联系。 掌握指令操作码与控制存储器中微程序的对应方法。熟悉根据指令操作码从控制存储器中读出微程序的过程。 实验要求 做好实验预习,读懂实验电路图,熟悉实验元器件的功能特性和使用方法。 按照实验内容与步骤的要求,独立思考,认真仔细地完成实验。 写出实验报告。 实验电路        

Long_UP的博客 7万+

Leetcode 103. Binary Tree Zigzag Level Order Traversal 二叉树Zigzag遍历 解题报告

1 解题思想首先这道题和 Leetcode 102. Binary Tree Level Order Traversal 二叉树按层遍历 解题报告 很接近,Zigzag同样是按层遍历,但是区别是对于高度为奇数(从0开始计数的话,则是第1 3 5 7)的层,当层的遍历需要反过来。做法: 1、采用102题目中的方式,无论是DFS还是BFS都行 2、完成1后,对所有奇数层进行翻转这题的写法和102

MebiuW的专栏 1862

WslRegisterDistribution failed with error_ 0x8007019e、0x800701bc、0x80370102

Ubuntu 20.04.4 LTS 报错解决方案。分别涉及到三个错误:WslRegisterDistribution failed with error: 0x8007019e、WslRegisterDistribution failed with error: 0x800701bc和WslRegisterDistribution failed with error: 0x80370102

一起加油~ 5万+

VoLTE吞字断续优化方案

网络侧通过各节点探针的数据采集,能够进行RTP和RTCP包的分析,确定各节点的上行或下行丢包情况。1.基于测试语音分析,每2秒中大约8个字,每个字约10个RTP语音包。通话过程中,语音有短暂停顿,收音段听语音中会出现“吞字/断续现象”2.连续丢3~5个RTP以上就可能会出现吞字断续的感觉。下行评价的丢包问题,很难有效指导定界定位分析,无从下手。2.部分终端可能存在RTCP不反馈,导致无法获取丢包。1.语音包为UDP包,无反馈,终端无法判定是否丢包。终端可依据自身的调度反馈或弃包进行上行丢包判决。

m0_73503557的博客 1514

LeetCode 103:Binary Tree Zigzag Level Order Traversal

Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary

哈哈的个人专栏 2775

14、固态变压器(SST)供电的直流微电网控制策略解析

本文详细解析了基于固态变压器(SST)供电的直流微电网的分层功率管理与控制策略。重点介绍了二次控制和三次控制算法的原理及实现方式,探讨了将SST作为固态同步电机(SSSM)的控制概念及其频率调节方法。通过小型直流微电网的实验案例验证了控制策略的有效性,并对不同三次控制方法的优缺点进行了比较。最后,文章提出了未来控制策略的优化方向,包括通信技术提升、多目标优化和智能算法的应用,为直流微电网的可靠、高效运行提供了理论支持和实践指导。

star的博客 554

Leetcode【111】Minimum Depth of Binary Tree(Python版)

# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def minDepth(sel...

ssjdoudou的博客 7054

网络系统管理专栏-配套练习+知识点详解

网络系统管理专栏-配套练习+知识点详解

bfq05234214的博客 683

【ESP32摄像头开发实例】-视频流接入Home Assistant

在这个项目中,我们将使用ESP32-CAM板构建一个IP监控摄像头。ESP32摄像头将托管一个视频流媒体网络服务器,您可以使用网络中的任何设备进行访问。

视觉与物联智能 792

103. Binary Tree Zigzag Level Order Traversal (M)

Binary Tree Zigzag Level Order Traversal (M) Given a binary tree, return the zigzag level order traversal of its nodes’ values. (ie, from left to right, then right to left for the next level and alter...

Mapoos 93

剪映自动化工具来了:AI帮你自动剪辑成片

🎬分享一个剪映自动化剪辑工具!AI 自动帮你完成从写文案、配音、加字幕、选音乐、上特效到最终导出的整套流程🎈

XiaoqiangClub的博客 858

(M)BFS:103. Binary Tree Zigzag Level Order Traversal

这道题意思是按照“之”字形遍历一棵树。 我的做法是dfs把每一行按照正常的顺序存下来,最后把奇数行倒置。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int

u012528000的博客 262

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LeetCode-Tree&BFS-103-M:二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)

文章目录思路解法 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 思路 (1)在LeetCode-Tree-102-M:二叉树的层次遍历的基础上对偶数行进行处理。 (2)另外参见剑指Offer-树-面试题32-3:按之字形顺序打印二叉树,不同的解法。借用了栈的处理。 解法 执行用时 :2 ms, 在所有 Java 提交中击...

Heorin X的博客 219

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

LeetCode #103 - Binary Tree Zigzag Level Order Traversal

题目描述: Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given

LawFile的博客 289

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

leetcode-java-103. Binary Tree Zigzag Level Order Traversal

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } * 仿照102的思路: * 但是因为是zigzag的方法

王欢的博客 478

LeetCode 102, 103, 107. Binary Tree Level Order Traversal i, ii, Zigzag Level Order

1. 题目描述 102 Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level). 107 Given a binary tree, return the bottom-up level order traversa

zhyh1435589631的专栏 453

103. Binary Tree Zigzag Level Order Traversal - Medium

Given a binary tree, return thezigzag level ordertraversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example:Given binary tree...

weixin_34245749的博客 104

Leetcode刷题笔记-Tree

Background: https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/ Unlike linear data structures (Array, Linked List, Queues, Stacks, etc) which have only one logical way to t...

Sengo的博客 1100

103. Binary Tree Zigzag Level Order Traversal

问题描述 Given a binary tree, return the zigzag level order traversal of its nodes’ values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary...

BigFatSheep的博客 251

103. Binary Tree Zigzag Level Order Traversal(二叉树的锯齿形层次遍历)

题目链接:https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ 思路: 仍然用队列,只不过在每一层遍历时,通过flag来确定是插入LinkedList尾部还是头部。 队列的遍历仍然是从左向右。这次用的是LinkedList而不是ArrayList保存每一层。 LinkedList是双向链表 比如...

God_Mood的博客 279

103. Binary Tree Zigzag Level Order Traversal

Given a binary tree, return thezigzag level ordertraversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tr...

shadowkun的博客 201

LeetCode 103. Binary Tree Zigzag Level Order Traversal(二叉树之字形遍历)

原题网址:https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right

James Pan 1497

【leetcode】103. Binary Tree Zigzag Level Order Traversal【java】使用队列,简单容易理解的方法

Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary

陈善亮的博客 484

leetcode---103. Binary Tree Zigzag Level Order Traversal C++题解

103. Binary Tree Zigzag Level Order Traversal 102题解–102. Binary Tree Level Order Traversal 上一题递归做的,这题也可以递归做,同样也是线性复杂度,但是递归的效率肯定比较低,所以这次也提供用队列和栈的解法。 递归版本,就是在102解法的基础上,将ans的行按照奇数反向reverse: class Solu...

bbkgl的博客 409
上一篇: 【LeetCode】504. Base 7【E】【94】
下一篇: 【LeetCode】526. Beautiful Arrangement【M】【35】【回溯】
Vicky_Vicky_990121
博客等级 码龄14年 23粉丝 187原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值