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

Leetcode 103. Binary Tree Zigzag Level Order Traversal

Leetcode 103. Binary Tree Zigzag Level Order Traversal