博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Binary Tree Zigzag Level Order Traversal
阅读量:5256 次
发布时间:2019-06-14

本文共 1105 字,大约阅读时间需要 3 分钟。

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:

Given binary tree {3,9,20,#,#,15,7},

3   / \  9  20    /  \   15   7

 

return its zigzag level order traversal as:

[  [3],  [20,9],  [15,7]]
1 public class Solution { 2         public ArrayList
> zigzagLevelOrder(TreeNode root) { 3 ArrayList
> res = new ArrayList
>(); 4 if(root==null) return res; 5 LinkedList
cur = new LinkedList
(); 6 cur.offer(root); 7 int level = 0; 8 while(!cur.isEmpty()){ 9 LinkedList
next = new LinkedList
();10 ArrayList
output = new ArrayList
();11 for(TreeNode n:cur){12 output.add(n.val);13 if(n.left!=null){14 next.offer(n.left);15 }16 if(n.right!=null){17 next.offer(n.right);18 }19 }20 if(level%2==1){21 Collections.reverse(output);22 }23 res.add(output);24 cur = next;25 level++;26 }27 return res;28 }29 }
View Code

 

 

转载于:https://www.cnblogs.com/krunning/p/3538829.html

你可能感兴趣的文章
day 09 课后作业
查看>>
白话Redis分布式锁
查看>>
Pandas常用操作方法
查看>>
L2-002. 链表去重(模拟)
查看>>
《linux c编程指南》学习手记2
查看>>
linux服务器配置
查看>>
mysql主主配置
查看>>
接收用户的输入并保存为新的文件
查看>>
2014 ACM-ICPC Asia Regional Dhaka
查看>>
各类页面元素的处理--WebDriver
查看>>
CodeIgniter 3.0支持数据库读写分离方式
查看>>
没有2000万资金,就开不好餐厅?
查看>>
【poj3690】Constellations 哈希
查看>>
数据结构概念
查看>>
由struct的静态构造函数说起
查看>>
python的基础2(数据类型与for 循环)
查看>>
大数据学习(2)- export、source(附带多个服务器一起启动服务器)
查看>>
Pandas matplotlib 无法显示中文 Ubuntu16.04
查看>>
hyperopt中文文档:Installation-Notes安装说明
查看>>
Python3 根据关键字爬取百度图片
查看>>