Leetcode 103. Binary Tree Zigzag Level Order Traversal
Posted zhangwj0101
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 103. Binary Tree Zigzag Level Order Traversal相关的知识,希望对你有一定的参考价值。
Question
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]
]
Code
public List<List<Integer>> zigzagLevelOrder(TreeNode root)
List<List<Integer>> results = new ArrayList<>();
if (root == null)
return results;
Queue<TreeNode> queues = new ArrayDeque<>();
queues.add(root);
int time = 0;
while (!queues.isEmpty())
int len = queues.size();
List<Integer> temp = new ArrayList<>();
for (int i = 0; i < len; i++)
TreeNode remove = queues.remove();
temp.add(remove.val);
if (remove.left != null)
queues.add(remove.left);
if (remove.right != null)
queues.add(remove.right);
if (time % 2 == 1)
Collections.reverse(temp);
results.add(temp);
time++;
return results;
以上是关于Leetcode 103. Binary Tree Zigzag Level Order Traversal的主要内容,如果未能解决你的问题,请参考以下文章
#Leetcode# 103. Binary Tree Zigzag Level Order Traversal
[leetcode tree]103. Binary Tree Zigzag Level Order Traversal
LeetCode103. Binary Tree Zigzag Level Order Traversal 解题报告
[LeetCode]题解(python):103-Binary Tree Zigzag Level Order Traversal