leetcode日记(90)二叉树的锯齿形层序遍历

devtools/2025/3/11 6:17:03/

和上一题思路差不多,只不过有一个陷阱,就是不能用上一题的递归解法,因为逆序遍历会导致后面需要顺序的节点也逆序。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:vector<vector<int>> result;vector<TreeNode*> tree;vector<vector<int>> zigzagLevelOrder(TreeNode* root) {if(root==NULL) return result;tree.push_back(root);while(!tree.empty()){int sum=tree.size();result.push_back(vector<int> ());for(int i=0;i<sum;i++){if(tree[i]->left) tree.push_back(tree[i]->left);if(tree[i]->right) tree.push_back(tree[i]->right);}if(result.size()%2!=1) for(int i=sum-1;i>=0;i--) result.back().push_back(tree[i]->val);else for(int i=0;i<sum;i++) result.back().push_back(tree[i]->val);tree.erase(tree.begin(),tree.begin()+sum);}return result;}
};


http://www.ppmy.cn/devtools/166203.html

相关文章

Java LeetCode 热题 100 回顾14

干货分享&#xff0c;感谢您的阅读&#xff01;LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 &#xff08;简单&#xff09; 题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两…

redis持久化

目录 redis持久化 RDB&#xff08;Redis Database&#xff09;持久化 AOF&#xff08;Append Only File&#xff09;持久化 redis持久化 在Redis中&#xff0c;持久化是确保数据在Redis服务器重启后不丢失的关键功能。Redis提供了两种主要的数据持久化方式&#xff1a;RDB&a…

论文阅读笔记——OpenVLA: An Open-Source Vision-Language-Action Model

OpenVLA 论文 OpenVLA 是一种具有 70 亿参数的开源视觉-语言-动作模型&#xff08;Vision-Language-Action, VLA&#xff09;&#xff0c;旨在将视觉感知、语言理解和机器人动作控制无缝结合。其核心是一个预训练的视觉条件语言模型&#xff08;Vision-Conditioned Language M…

运行OpenManus项目(使用Conda)

部署本项目需要具备一定的基础&#xff1a;Linux基础、需要安装好Anaconda/Miniforge&#xff08;Python可以不装好&#xff0c;直接新建虚拟环境的时候装好即可&#xff09;&#xff0c;如果不装Anaconda或者Miniforge&#xff0c;只装过Python&#xff0c;需要确保Python是3.…

删除或替换 Word 中的首页、尾页以及其它指定范围的页

我们经常在处理 Word 文档的时候会碰到需要删除 Word 页面或者替换 Word 文档页面的场景&#xff0c;比如将 Word 文档的最后一页删除、比如 Word 文档的封面错误或者过时需要替换为新的封面等等&#xff0c;那遇到这种场景的时候大家都是怎样做的呢&#xff1f;今天就给大家介…

Leetcode 3478. Choose K Elements With Maximum Sum

Leetcode 3478. Choose K Elements With Maximum Sum 1. 解题思路2. 代码实现 题目链接&#xff1a;3478. Choose K Elements With Maximum Sum 1. 解题思路 这一题思路上就是一个有序数组&#xff0c;我们首先将数组1有序排列&#xff0c;然后依次考察其每一个位置上的元素…

【五.LangChain技术与应用】【9.LangChain ChatPromptTemplate(上):高级对话模板设计】

LangChain ChatPromptTemplate完全攻略(上):让AI对话拥有导演思维 (全文约6000字,实战代码占比40%,建议搭配Jupyter Notebook阅读) 凌晨三点的办公室,你盯着刚写完的客服对话系统,AI回复总是把"我要投诉!“处理成"我要投喂~”。同事小李凑过来瞥了一眼代…

一文讲懂Go语言如何使用配置文件连接数据库

一文讲懂Go语言如何使用配置文件连接数据库 viper1. viper简介2. viper 读取.toml配置文件定义Go语言结构体编写与Go语言结构体对应的.toml配置文件定义初始化函数定义get函数 连接数据库1. 定义数据库对象2. 定义初始化函数3. 定义 get 函数4. 定义 main 函数, 连接数据库 配置…