103. 二叉树的锯齿形层次遍历

GD32F303实战:用定时器4触发ADC2+DMA,实现10ms精准采样1024点的完整流程 本文详细介绍了在GD32F303微控制器上使用Timer4触发ADC2配合DMA传输,实现10ms精准采样1024点的完整方案。从硬件架构设计、时钟树配置到定时器参数计算,提供了完整的工程实现流程和常见问题排查方法,适用于工业传感器监测等高实时性场景。 阅读详情
/**
 * 103. 二叉树的锯齿形层次遍历
 * @author wsq
 * @date 2020/10/04
	给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
	例如:
	给定二叉树 [3,9,20,null,null,15,7],
	
	    3
	   / \
	  9  20
	    /  \
	   15   7

	返回锯齿形层次遍历如下:
	[
	  [3],
	  [20,9],
	  [15,7]
	]
	链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal
 */
package com.wsq.tree;

import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

public class ZigzagLevelOrder {
	/**
	 *	使用栈和队列配合完成。效率比较低,可以做优化
	 * @param root
	 * @return
	 */
	public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
        List<List<Integer>> ans = new ArrayList();
        boolean left2right = true;
        Deque<TreeNode> stack = new LinkedList();
        Queue<TreeNode> queue = new LinkedList();
        stack.push(root);
        while(!stack.isEmpty()){
            while(!stack.isEmpty()){
                queue.offer(stack.pop());
            }
            List<Integer> tmpList = new ArrayList();
            while(!queue.isEmpty()){
                TreeNode tmpNode = queue.poll();
                if(tmpNode == null){
                    continue;
                }
                tmpList.add(tmpNode.val);
                if(left2right){
                    stack.push(tmpNode.left);
                    stack.push(tmpNode.right);
                }else{
                    stack.push(tmpNode.right);
                    stack.push(tmpNode.left);
                }
            }
            if(tmpList.size() != 0){
                ans.add(tmpList);
            }
            left2right = !left2right;
        }
        return ans;
    }
}

被Cloudflare 5秒盾虐了半个月,终用Python破局:UA+TLS指纹伪装实战,拦截率从42%干到3% 其实5秒盾不难破,难的是摸透它的检测逻辑——它不是“一刀切”地拦截爬虫,而是通过“多维度指纹校验”,判断你是不是“真实用户”。表层:UA和HTTP头要完整、匹配;中层:TLS指纹要和真实浏览器一致(核心);深层:行为要符合人类习惯(请求间隔、JS执行)。这套方案不仅适用于Cloudflare 5秒盾,很多基于指纹检测的反爬系统(如Akamai、Imperva)也适用。2025年的爬虫,早已不是“能爬就行”,而是“爬得稳、不被封”——指纹伪装就是实现这一点的关键。 阅读详情

相关推荐

AI Agent在智能投研中的实战:多智能体信息整合与策略生成

本文将带你从0到1完整搭建一套基于LangChain和AutoGen的多智能体AI投研系统首先,我们会一起梳理智能投研的核心痛点、金融数据的独特性,以及为什么传统AI Agent,尤其是多智能体协同架构,是破局的唯一最优解;RAG检索增强生成(但这次是金融领域定制化的,包括向量检索+时序数据检索+知识图谱检索的“三元检索增强”)、AutoGen多智能体协同框架。

软件工程实践的博客 381

【AC笔记】0103.二叉树的锯齿形层序遍历

题目要求 返回其节点值的锯齿形层序遍历(也就是,如果第一层遍历顺序时从左到右,第二次遍历顺序就要从右到左,依次类推) 图解示例 算法思想 方法一:使用广度优先搜索 + 调整结果 本题比较简单的办法就是先使用广度优先搜索,即遍历到哪一层,都按从左到右的顺序放入列表中 完成遍历后,对偶数层(即下标为单数的 ans[i])的遍历结果,倒转顺序 方法二:使用栈+列表 通过分析示例,我们发现,偶数层的遍历顺序与输出顺序刚好相反,即本来先遍历到的数据,后出现在列表中 使用栈(先进后出)的方式存储偶数层节点数

为了远大的理想,冲锋! 553

LTE信令流程及业务流程

eNB返回E-RAB建立响应消息,E-RAB建立列表信息中包含成功建立的承载信息,E-RAB建立失败列表消息中包含没有成功建立的承载消息。3)当下行数据达到时,网络侧先对UE进行寻呼,随后UE发起随机接入过程,并发起service request过程。用户面:S-GW向eNB发送承载建立请求,包含(IMSI, QoS, TFT, TEID, LBI等)控制面:MME向eNB发送E-RAB建立请求,包含E-RAB ID,QoS,S-GW TEID。3)在S1接口上建立S1承载,在Uu接口上建立数据无线承载。

qq_44390640的博客 4584

二叉树的锯齿形层次遍历(二叉树)(BFS)

题目 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 来源:力扣(LeetCo...

Narakue的博客 562

AI Agent在智能投研中的实战:多智能体信息整合与策略生成

那么,什么是AI Agent?简单来说,AI Agent是一种能够感知环境、做出决策并采取行动的自主系统。自主性:能够在没有人类直接干预的情况下运行,对自己的行为和内部状态有一定的控制权。反应性:能够感知环境的变化,并及时做出反应。主动性:不仅能够对环境变化做出反应,还能够主动地设定目标并采取行动实现这些目标。社会性:能够与其他Agent(包括人类和人工智能)进行交互、协作和竞争。它们可以全天候不间断地监控和处理海量信息,大大提升信息处理能力;

AI大模型应用之禅 193

手把手教你用光耦搭建安全隔离电路:从洗衣机控制板到PLC输入模块实战

本文通过洗衣机控制板驱动高压电机和PLC输入模块采集现场信号两个实战场景,手把手教你使用光耦搭建安全隔离电路。文章详细解析了电路架构、关键器件选型、参数计算、仿真验证及PCB布局避坑技巧,并对比了光耦与数字隔离器的适用场景,帮助电子工程师掌握这门保障系统稳定与安全的必备技能。

h6j7k8l9p0的博客 464

二叉树的锯齿形层次遍历

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 分析: 锯齿型...

Random的博客 583

VirtualBox创建虚拟机(为安装Ubuntu桌面系统)

Ubuntu的安装非常灵活。但是万变不离其宗,归纳起来,无非就是以下3种:(1)用户可以下载完整的ISO镜像文件,将其转移到各种介质上面,例如DVD或者U盘,然后以该介质引导系统进行安装。(2)用户可以下载一个非常小的网络安装器,利用该安装器引导系统进行在线安装。(3)用户可以将Ubuntu安装到一个U盘中,随身携带。为了便于读者学习,本节将介绍通过完整的ISO镜像文件安装Ubuntu。其他的安装方式将在后面介绍。

夏天又到了的专栏 2689

LeetCode 103. 二叉树的锯齿形层次遍历

LeetCode 103. 二叉树的锯齿形层次遍历 题目 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 分析 还是二叉树,还是遍历,不...

Ailecccc的博客 217

模型算力需求估算

(Billion Parameters,简称B)和训练/推理的计算任务复杂度,结合硬件计算能力(例如每秒浮点运算次数,FLOPS)来估算。以下是详细的方法和公式说明,以及实际的计算示例。算力需求的估算依赖于参数量、模型架构及硬件性能,结合训练/推理场景的特定要求来计算。通过上述公式和示例,我们可以定量分析不同任务的算力需求,并合理配置硬件资源以优化运行效率。结论:推理任务相对较轻,单台H100可以在30秒内完成此任务。推理算力需求一般远低于训练,因为只需要执行前向传播。,可以将训练时间缩短到约。

形上得其象,形下合于数;阴阳自济,玄理自明。 8962

5G RF前端架构为什么越来越复杂?从8天线、MIMO、ET、DRX到ACLR/EVM彻底拆开

AdjacentChannelLeakageRatioAdjacentChannelLeakageRatio主信道的功率,有多少泄漏到了隔壁Channel。ACLRPAdjacentPMainACLR=ACLRPMain​PAdjacent​​通常以dBc表达。

weixin_43199439的博客 48

Leetcode 103. 二叉树的锯齿形层次遍历 C++

Leetcode 103. 二叉树的锯齿形层次遍历 题目 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 测试样例 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 题解 递归遍历方式如102题,记录深度的同时,我们判断该层是正向还是反向,如果正向,则插入

weixin_43750513的博客 185

2026年GESP3月认证C++五级真题解析

因为要合并成升序数组,所以当A[i]小于等于B[j]时,取A[i],否则取B[j]。当a[i]>a[j]时,左边数组中从i到m的所有元素都大于a[j],因此逆序对数量增加m-i+1。给定一个包含n个互不相同的正整数的数组A与一个包含m个互不相同的正整数的数组B,请你帮忙计算有多少个数在数组A与数组B中均出现。下面代码实现两个整数除法,其中被除数为一个“大整数”,用字符串表示,除数是一个小整数,用int表示,则横线处应该填写()。且a[i] > a[j],则a[i]和a[j]是一个逆序对。

lan_in的博客 120

LeetCode 103:二叉树的锯齿形层次遍历

LeetCode 103:二叉树的锯齿形层次遍历 题目描述解题思路代码实现总结 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ...

香农三定律的博客 221

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

leetcode 第102题 二叉树的层次遍历, 第103题二叉树的锯齿形层次遍历, 第107题 二叉树的层次遍历 II

leetcode 第102题 二叉树的层次遍历, 第103题二叉树的锯齿形层次遍历, 第107题 二叉树的层次遍历 II 问题分析 这三道题都考察的都是二叉树的广度优先遍历,二叉树的广度优先遍历非常明显,就是按照顺序输出每一层的节点。这三题都是一个套路,同一种方法只要做一点修改就行了。 102 题 二叉树的层次遍历 这一题是为了按照顺序输出给定二叉树的每一层节点的值,其中每一层的值作为一个数组。具...

leetcode 第105题(从前序与中序遍历序列构造二叉树) ,第106题(从中序与后序遍历序列构造二叉树) 397

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LeetCode算法题103:二叉树的锯齿形层次遍历解析

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 这个题目与普通的层次遍历思想没有多大区...

Alex的博客 855

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Leetcode103. 二叉树的锯齿形层次遍历

Leetcode103. 二叉树的锯齿形层次遍历 题目: 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], ...

会流泪de鱼的博客 195

[LeetCode ] 103. 二叉树的锯齿形层次遍历

1 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary...

努力变得不菜的菜鸡的博客 222

LeetCode 第 103 号问题:二叉树的锯齿形层次遍历

本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一。 个人网站:https://www.cxyxiaowu.com 题目来源于 LeetCode 上第 103 号问题:二叉树的锯齿形层次遍历。题目难度为 Medium,目前通过率为 43.8% 。 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行...

程序员吴师兄的博客 226

Leetcode103 二叉树的锯齿形层次遍历 C++,Java,Python

Leetcode103 二叉树的锯齿形层次遍历 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/ 博主Github:https://github.com/GDUT-Rp/LeetCode 题目: 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再...

Rp的博客 419

leetcode103. 二叉树的锯齿形层次遍历

题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 示例 例如: 给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] ...

路漫漫其修远兮 179

Leetcode 103:二叉树的锯齿形层次遍历(最详细解决方案!!!)

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 解题思路 参考这篇文章Leetcode...

coordinate的博客 939

Leetcode103 二叉树的锯齿形层次遍历[Med] -JAVA

题目传送门 Leetcode103 二叉树的锯齿形层次遍历[Med] -JAVA题目思路解法 题目 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] Related Topics 栈 树 广度优先搜索 思路 题意就是用中序遍历实现,将左边的节点全部

小小柯 179

leetcode 103. 二叉树的锯齿形层次遍历  medium

leetcode103. 二叉树的锯齿形层次遍历 medium 题目描述: 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3...

speargod的博客 189
上一篇: 94. 二叉树的中序遍历(迭代)
下一篇: 33. 搜索旋转排序数组
Lazy mode
博客等级 码龄10年 13粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值