• [leetcode]103. Binary Tree Zigzag Level Order Traversal二叉树Z形遍历


    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,null,null,15,7],

        3
       / 
      9  20
        /  
       15   7
    

    return its zigzag level order traversal as:

    [
      [3],
      [20,9],
      [15,7]
    ]

    题目

    思路

    1.  use Queue to help BFS

    2. once scan current level, make a U-turn, then scan next level 

    代码

     1 class Solution {
     2     public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
     3         List<List<Integer>> result = new ArrayList<>();
     4         Queue<TreeNode> queue = new LinkedList<>();
     5         queue.add(root);
     6         int level = 0;
     7         // lever order traversal
     8         while (!queue.isEmpty()) {
     9             int size = queue.size();
    10             List<Integer> list = new ArrayList<>();
    11             for (int i = 0; i < size; i++) {
    12                 TreeNode node = queue.remove();
    13                 if (node != null) {
    14                     list.add(node.val);8
    15                     queue.add(node.left);
    16                     queue.add(node.right);
    17                 }
    18             }
    19             if (!list.isEmpty()) {
    20                 // make a U-turn
    21                 if (level % 2 == 1) {
    22                     Collections.reverse(list);
    23                 }
    24                 result.add(list);
    25             }
    26             level++;
    27         }
    28         return result;
    29     }
    30 }
  • 相关阅读:
    配置gem5-gpu模拟环境
    如何避免并发情况下的重复提交
    避免重复执行
    java线程池
    java动态代理
    Java 静态代理
    Java 静态代理和动态代理
    Spring的事务传播性
    mybatis配置(Configuration.xml)详解
    mybati之parameterType传递多个参数
  • 原文地址:https://www.cnblogs.com/liuliu5151/p/9824000.html
Copyright © 2020-2023  润新知