zoukankan      html  css  js  c++  java
  • leetcode 102 Binary Tree Level Order Traversal ----- java

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

    For example:
    Given binary tree [3,9,20,null,null,15,7],

        3
       / 
      9  20
        /  
       15   7
    

    return its level order traversal as:

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

     输出一棵树的每一行,很简单。

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public List<List<Integer>> levelOrder(TreeNode root) {
            List list = new ArrayList<List<Integer>>();
            
            if( root == null)
                return list;
            Queue<TreeNode> queue = new LinkedList<TreeNode>();
            queue.add(root);
            while( !queue.isEmpty() ){
                List ans = new ArrayList<Integer>();
                int size = queue.size();
                for( int i = 0;i<size;i++){
                    TreeNode node = queue.poll();
                    if( node == null)
                        continue;
                    ans.add(node.val);
                    queue.add(node.left);
                    queue.add(node.right);
                }
                if( ans.size() != 0)
                    list.add(ans);
                
            }
            
            
            return list;
        }
    }
     
     
     
  • 相关阅读:
    LeetCode 12. 整数转罗马数字
    [Python] for in range()使用以及列表字符串反转方法
    组合数问题
    「BJOI2020」封印
    数据结构优化建图
    小Q与找茬
    无旋Treap学习
    jzoj5679
    数星星
    凸性
  • 原文地址:https://www.cnblogs.com/xiaoba1203/p/5998776.html
Copyright © 2011-2022 走看看