剑指offer JavaScript版 (59)
2019-08-15 17:18
113 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Damp_XUN/article/details/99645366
按之字形顺序打印二叉树
题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
- 用两个栈,一个存从左到右的节点,一个存从右到左的节点
- 奇数层从左到右打印,偶数层从右到左打印
- 每一层单列进list,list再单列进lists
function Print(pRoot) { // write code here const lists=[] if(pRoot==null){ return lists; } const stack1=[] const stack2=[] stack2.push(pRoot); let i=1; while(stack1.length!=0||stack2.length!=0){ const list=[] if((i&1)==1){ while(stack2.length!=0){ const tmp=stack2[stack2.length-1]; stack2.pop() list.push(tmp.val) if(tmp.left!=null)stack1.push(tmp.left); if(tmp.right!=null)stack1.push(tmp.right); } } else{ while(stack1.length!=0){ const tmp=stack1[stack1.length-1]; stack1.pop(); list.push(tmp.val); if(tmp.right!=null)stack2.push(tmp.right); if(tmp.left!=null)stack2.push(tmp.left); } } i++; lists.push(list) } return lists; }
相关文章推荐
- 李阳疯狂英语突破对话(59)-重要会议
- Windows API一日一练(59)CreateFileMapping和MapViewOfFile函数
- sidebyside Error 59/32的解决方法
- web developer tips (59):粘贴时在VS中自动格式化HTML
- Qt学习之路(59): 编写跨平台的程序
- 稳扎稳打Silverlight(59) - 4.0通信之WCF RIA Services: 数据验证
- NO。59 图片嵌入文字并且居中
- python循环输出00-59
- 2.已知int a[10]={1,7,8,18,23,24,59,62,99},删去数组中与3成倍的数。
- 英语练习 50-59
- //九度OJ 教程59 矩阵二分求幂法之大幂
- IOS开发(59)之Block Object的调用
- 重新想象 Windows 8 Store Apps (59) - 锁屏
- OpenRisc-59-jtag_tap模块分析
- OCP-1Z0-053-200题-147题-59
- Android上Mac样式的按钮ZZ 分类: Android开发 2014-05-30 10:56 59人阅读 评论(0) 收藏
- leetcode 刷题之路 59 Linked List Cycle II
- 【原创】《Linux高级程序设计》杨宗德著 - 域名与IP信息解析 分类: Linux --- 应用程序设计 2014-12-18 09:56 59人阅读 评论(0) 收藏
- [Leetcode] 59. Spiral Matrix II
- 九章算法面试题59 背包问题II