leetcode z形遍历二叉树

对矩阵进行Z型遍历 对一个矩阵进行Z字型遍历,然后输出 立即下载

key:  use two stack s1,s2 

/**
 * Definition for binary tree
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    vector<vector<int> > zigzagLevelOrder(TreeNode *root) {
        vector<vector<int>> res;
        if(!root) return res;
        stack<TreeNode*> s1,s2;
        s1.push(root);
        vector<int> temp;
        while(!s1.empty() || !s2.empty()){
            
            while(!s1.empty()){
                TreeNode* cur = s1.top();
                temp.push_back(cur->val);
                s1.pop();
                if(cur->left) s2.push(cur->left);
                if(cur->right) s2.push(cur->right);
                
            }
            if(!temp.empty()) {
               res.push_back(temp);
               temp.clear();
            }
            while(!s2.empty()){
                TreeNode* cur = s2.top();
                temp.push_back(cur->val);
                s2.pop();
                if(cur->right) s1.push(cur->right);
                if(cur->left) s1.push(cur->left);
            }
            if(!temp.empty()) {
                res.push_back(temp);
                temp.clear();
            }
        }
        return res;
        
    }
};

 

OPC与AI智能体集成实战:一人公司的技术栈构建与避坑指南 1. 先搞清楚“一人公司”和“AI工具”到底在解决什么问题 最近看到不少关于“裸辞搞OPC一人公司”和“AI时代骗局”的讨论,结合搜索热词里高频出现的 openclaw 、 AI编程 、 OPC ,我觉得有必要把这里面的水搅一搅,说点实在的。 首先得拆开看。标题里混了三个东西: 一人公司 、 OPC/OpenClaw 、 AI培训 。它们被放在一起讨论“骗局”,但本质上解决的是不同层面的问题。 一人公司 ,或者说个人工作室、独立开发者模式,核心是 用最小化团队(甚至一个人)去承接项目、开发产品或提供服务 。 阅读详情

相关推荐

飞书日历同步Outlook翻车?我踩过的坑和最终用Google Calendar成功的完整配置记录

本文详细记录了从Outlook日历同步到飞书时遇到的常见问题及解决方案,特别是通过Google Calendar实现稳定同步的完整配置流程。文章揭示了Outlook同步方案易翻车的原因,并提供了Google Calendar的避坑指南、高级技巧和企业级部署建议,帮助用户高效实现日历同步。

weixin_33724046的博客 314

(二叉树z字形层次遍历)LeetCode#103. Binary Tree Zigzag Level Order Traversal

按照z字形层次遍历二叉树

小仙女的博客 5101

多雷达协同探测技术研究进展:认知跟踪与资源调度算法

源自:雷达学报作者:易伟 袁野 刘光宏 葛建军 孔令讲 杨建宇雷达是信息感知的千里眼,具有极高的军用和民用价值,广泛应用在防空预警、遥感测绘、反恐维稳等领域[1–5]。雷达信息获取与探测技术也一直是大国竞相抢占的前沿技术,同时是信息科学的重要组成部分。随着科学技术不断进步,先进电子对抗装备的不断问世和广泛列装,雷达的生存与发展正面临日益严峻的挑战。从生存环境上看,雷达面临通信等各类民用电磁干扰以及复杂的军用电磁干扰;从探测对象上看,集群、微弱、隐身、高空、低空等多样化目标的出现也给雷达探测与识别带来困难。

renhongxia1的博客 2784

LeetCode 二叉树的遍历

二叉树遍历用递归时间很简单,只需要调整递归调用方法的顺序即可。而迭代的方式需要一个栈的结构来辅助完成,需要注意的是入栈和出栈的时机,同时需要记住每经过一个节点,就要将其入栈。...

TheAnnoyingDog的博客 380

如何在软件复位后保留指定RAM区域的数据

本文主要介绍S32K144的RAM retention功能

北极熊的脖子(16605192620@163.com) 1万+

ZYNQ Linux环境下PS端I2C驱动OV5640摄像头全流程解析

本文详细解析了在ZYNQ Linux环境下,通过PS端I2C驱动OV5640摄像头的完整流程。内容涵盖从Vivado硬件配置、PetaLinux系统构建、设备树节点添加,到用户空间I2C编程与寄存器配置实战,并提供了关键的调试技巧与常见问题排查方法,帮助开发者快速实现嵌入式视觉应用的传感器配置。

vulkan6gpu的博客 853

【算法之LeetCode系列(7)】—— 二叉树的遍历

一篇文章,带你砍掉所有的二叉树(的遍历)

好好学习,天天向上 370

SVPWM分析、各个扇区详细计算以及Matlab仿真

SVPWM分析以及各个扇区详细计算以及Matlab仿真说明目的两电平逆变器拓扑空间矢量扇区判断扇区内如何发波?矢量作用时间计算矢量切换时间的计算Simulink仿真/基于Matlab-R2014a版本 说明 第一次发文章,不太会用Markdown,word编辑的公式复制过来有些是乱码,因此都贴图了。 另外,本文公式和图片比较多,编辑工作量比较大,比较辛苦,转载的话,请注明出处,谢谢。 目的 由于在...

michaelf的博客 12万+

LeetCode高频题:二叉树的锯齿形(Z字形,之字形)层序遍历

1)普通的bfs二叉树层序遍历,非常简单,字节将队列不断从左往右加就行了 2)本题就是从1)改变来的,bfs队列控制,奇数层的时候,让加入队列的顺序从右往左,偶数层的时候,加入队列从左往右 3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。.........

weixin_46838716的博客 1275

【数据集】米级别热红外卫星合集:SDGSAT-1、HotSat-1等

米级别热红外卫星合集:SDGSAT-1、HotSat-1等

WW、forever的博客 1252

openbmc 支持mctp over pcie(三)(支持作为endpoint)

本文介绍了在Intel BHS平台上支持MCTP over PCIe端点开发的调试方法。开发基于CodeConstruct和AspeedTech-BMC的开源项目,将内核驱动改为模块形式以便调试。内容包括DTS配置、驱动模块设置步骤,以及如何将BMC配置为端点设备。调试过程涉及内核模块加载、MCTPD启动、参数设置等关键命令,并展示了路由表、地址和邻居信息的测试结果。该方案仅为实验性工作,需注意停止其他使用/dev/aspeed-mctp0接口的应用。

wit_yuan的专栏 1557

LeetCode Z字形遍历二叉树

利用队列,从前向后在队列中取数据时,此时向队列中插入数据,插在队列尾部;从后向前在队列中取数据时,此时若插入数据,插在队列头部 from collections import deque class Solution: def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: res = [] ...

jay_wonder的博客 968

17、激光切割质量影响因素及优化研究

本文研究了激光切割过程中焦点位置、入射角、激光功率、切割速度和气体压力等因素对切割质量的影响,采用响应面方法(RSM)和Box-Behnken设计,基于三种不同喷嘴对SS 304不锈钢进行实验。通过建立切缝宽度比和条纹深度的回归模型,并结合方差分析验证模型有效性,深入分析各参数对切割质量的影响机制。研究发现喷嘴结构差异显著影响参数作用趋势,尤其在切割速度和气体压力响应上表现明显。最终通过多目标优化确定最小激光功率、适中切割速度和最大气体压力为最优组合,显著提升切割质量,为实际生产提供了理论依据和技术支持。未

grape的博客 132

LeetCode103 BinaryTreeZigzagLevelOrderTraversal(二叉树Z形层次遍历) 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: Give

u012249528的专栏 1267

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

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

Leetcode 103 ,Binary Tree Zigzag Level Order Traversal(二叉树Z形分层遍历)

一,问题描述1,1,给定一棵二叉树,从上到下,进行Z字行分层遍历的,即:本层的话从左打到右,那么下层就是从右到左,最后输出结果。2,例如: 3,解题思路: 这题和第102题解法类似,对102题的方法进行改造,使用两个Deque来实现,第一个Deque()实现本层的遍历,第二个Deque()实现下层节点的输入。二,AC了的程序(采用Java程序)import java.util.*; cl

wodedipang_的博客 663

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

[leetcode]103. Binary Tree Zigzag Level Order Traversal二叉树Z形遍历

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_30535843的博客 242

[Leetcode] Binary tree Zigzag level order traversal二叉树Z形层次遍历

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_30550271的博客 113

Leetcode5——Z形字符串,层次遍历,翻转单词,数字范围按位与,缓存数组区域和,缓存矩阵区域和

leetcode6 题目一: 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。 请你实现这个将字符串...

weixin_45680007的博客 173

Leetcode 剑指 Offer II 151.彩灯装饰记录 III

本文介绍了如何按层交替方向打印二叉树的节点值。题目要求第一层从左到右,第二层从右到左,以此类推。解决方案基于BFS遍历,通过维护一个方向标志变量,在每层结束后反转方向。对于从右到左的层,只需将该层结果翻转后加入最终列表。算法时间复杂度O(N),空间复杂度O(N),其中N为节点数。该方法是对常规层序遍历的简单扩展,适用于类似需要交替方向处理的问题。

随便发挥的博客 77

数据结构与算法——二叉树高频题目【1】

本文将简单记录一下二叉树的层序遍历和 Z 形层次遍历

MiauwYuki的博客 423

LeetCode:二叉树层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 题解: 这里我们给出递归的方式遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {}

zhuifengmax的博客 649

[LeetCode 103 ]二叉树之字形(Z字型)遍历

题目:按照z字形层次遍历二叉树(以根节点所在层为第1层,则第二层的变量从右边节点开始直到最左边节点,第三层遍历则是从最左边开始到最右边) 思路:z字形层次遍历是对层次遍历加上了一个限制条件(即相邻层,从左到右的遍历顺序相反),因此还是可以采用队列来实现,只不过节点接入队列时需要考虑加入的顺序 code: public class Solution { public List<Li...

大树叶 技术专栏 6018

LeetCode 二叉树的Z字遍历栈实现 Java

LeetCode 二叉树的Z字遍历栈实现 Java题目描述代码 题目描述 代码 import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { p

qq_29061435的博客 409

二叉树的中序遍历,每层遍历,以及Z字形遍历

leetcode中,二叉树也是一块重点,对于树结构衍生出的问题,一般用递归的方法会比较多 二叉树的中序遍历 对于二叉树的前序遍历,就是左-根-右这种遍历顺序。 有递归和非递归写法:非递归就用栈来实现 res, stack = [], [] while True: while root: stack.append...

sinat_41613352的博客 892

[Leetcode] 二叉树的遍历

二叉树的四种遍历方式

皮卡丘在充电 493
上一篇: 百度面试
下一篇: 手写 queue 和dequeue
kotomi_du
博客等级 码龄10年 5粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值