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

本文共 1057 字,大约阅读时间需要 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]]

解题思路:

直接在上题加一条反转语句即可,JAVA实现如下:

public List
> zigzagLevelOrder(TreeNode root) { List
> list = new ArrayList
>(); if (root == null) return list; Queue
queue = new LinkedList
(); queue.add(root); while (queue.size() != 0) { List
alist = new ArrayList
(); for (TreeNode child : queue) alist.add(child.val); if(list.size()%2!=0) Collections.reverse(alist); list.add(new ArrayList
(alist)); Queue
queue2 = queue; queue = new LinkedList
(); for (TreeNode child : queue2) { if (child.left != null) queue.add(child.left); if (child.right != null) queue.add(child.right); } } return list; }

 

转载于:https://www.cnblogs.com/tonyluis/p/4523693.html

你可能感兴趣的文章
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>
Android弹出框的学习
查看>>