当前位置: 首页 > news >正文

力扣面试150题--二叉树的锯齿形层序遍历

Day 56

题目描述

在这里插入图片描述

思路

锯齿形就是一层是从左向右,一层是从右向左,那么我们可以分析样例,对于第奇数层是从左向右,第偶数层是从右向左,于是可以采取一个计数器,采取链表方式,从左向右就是正常插入到链表后面,从右向左就是插入到链表前面。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {List<List<Integer>>result=new ArrayList<>();if(root==null){return result;}Queue<TreeNode>tree=new LinkedList<>();//保存树的节点int count;TreeNode x;int y=0;tree.offer(root);while(!tree.isEmpty()){count=tree.size();List<Integer>res=new LinkedList<>();for(int i=0;i<count;i++){x=tree.poll();if(x.left!=null) tree.offer(x.left);if(x.right!=null) tree.offer(x.right);if(y%2==0){res.add(x.val);}else{res.addFirst(x.val);}}y++;result.add(res);}return result;}
}
http://www.xdnf.cn/news/754057.html

相关文章:

  • SpringAI+DeepSeek大模型应用开发实战
  • NodeJS全栈开发面试题讲解——P9性能优化(Node.js 高级)
  • 数据结构第6章 图(竟成)
  • 【第16届蓝桥杯 | 软件赛】CB组省赛第二场
  • GitHub 趋势日报 (2025年05月31日)
  • Python - 爬虫;Scrapy框架之插件Extensions(四)
  • 解决 IDEA 在运行时中文乱码问题
  • 十四、【测试执行篇】让测试跑起来:API 接口测试执行器设计与实现 (后端执行逻辑)
  • Go语言字符串类型详解
  • day 42
  • MMR 最大边际相关性详解
  • 黑马Java面试笔记之框架篇(Spring、SpringMvc、Springboot)
  • Node.js 全栈开发方向常见面试题
  • [特殊字符] 超全整理!Streamlit命令行参数指南:加速开发与部署的秘诀
  • 【云安全】以Aliyun为例聊云厂商服务常见利用手段
  • git 如何解决分支合并冲突(VS code可视化解决+gitLab网页解决)
  • 循环流化床锅炉关键技术设计与优化路径
  • Flask文件处理全攻略:安全上传下载与异常处理实战
  • LeetCode 131.分割回文串:回溯法与回文子串判定的结合
  • c++之字符串
  • 定时任务:springboot集成xxl-job-core(一)
  • DOCKER使用记录
  • Go 即时通讯系统:日志模块重构,并从main函数开始
  • 【笔记】在 MSYS2(MINGW64)中安装 python-maturin 的记录
  • 【笔记】在 MSYS2(MINGW64)中正确安装 Rust
  • 通用人工智能 (AGI): 定义、挑战与未来展望
  • 《Python基础》第2期:环境搭建
  • npm install命令都做了哪些事情
  • Java数据结构——八大排序
  • UDP/TCP协议全解