剑指offer——59.按之字形顺序打印二叉树
来源:互联网 发布:女生做数据运营 编辑:程序博客网 时间:2024/05/17 05:56
题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
代码
思路:按深度遍历二叉树,深度(从0开始)为奇数的反转加入数组。
function Print(pRoot){ // write code here var queue = [];//存储节点队列 var result = []; if(pRoot==null) return result; var nextLevel = 0; queue.push(pRoot); var toBePrinted = 1;//每一行节点个数 var level = 0;//深度 var arr = []; while(queue.length){ var temp = queue.shift(); toBePrinted--; arr.push(temp.val); if(temp.left){ queue.push(temp.left); nextLevel++; } if(temp.right){ queue.push(temp.right); nextLevel++; } if(toBePrinted==0){ toBePrinted=nextLevel; nextLevel=0; level++; if(level%2==0){ arr.reverse(); } result.push(arr); arr = []; } } return result;}
阅读全文
0 0
- 《剑指offer》——按之字形顺序打印二叉树
- 剑指offer——按之字形顺序打印二叉树
- 剑指offer——按之字形顺序打印二叉树
- 剑指offer—按之字形顺序打印二叉树
- 剑指offer—按之字形顺序打印二叉树
- 剑指offer-59.按之字形顺序打印二叉树
- 剑指offer——59.按之字形顺序打印二叉树
- 剑指offer(C++)——按之字形顺序打印二叉树
- 剑指offer——面试题61:按之字形顺序打印二叉树
- 剑指offer--按之字形顺序打印二叉树
- 《剑指offer》按之字形顺序打印二叉树
- 剑指offer:按之字形顺序打印二叉树
- 剑指offer:按之字形顺序打印二叉树
- [剑指offer]按之字形顺序打印二叉树
- 剑指offer(五十三)之按之字形顺序打印二叉树
- 剑指Offer--061-按之字形顺序打印二叉树
- 《剑指offer》:[61]按之字形顺序打印二叉树
- 剑指offer(56)-按之字形顺序打印二叉树
- Android 进程间通信 Messenger
- linux服务监测 自动启动
- SwitchHosts—hosts管理利器
- swift中的!和?作用
- 什么样的Web开发框架才是好的前端框架
- 剑指offer——59.按之字形顺序打印二叉树
- sockaddr和sockaddr_in的区别
- Liquibase 筆記
- 浅述经典的4种卷积网络之(2)VGGNet
- linux文件合并、去重、拆分
- Linux学习掌握(一):基础的linux命令
- 557. Reverse Words in a String III 难度:简单
- bean with name 'mappingJacksonHttpMessageConverter' defined in class解决办法
- PostgreSQL for Windows安装