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

    Binary Tree Level Order Traversal

    问题:

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

    思路:

      bfs

    我的代码:

    public class Solution {
        public List<List<Integer>> levelOrder(TreeNode root) {
            List<List<Integer>> rst = new ArrayList<List<Integer>>();
            if(root == null) return rst;
            
            Queue<TreeNode> queue = new LinkedList<TreeNode>();
            queue.offer(root);
            while(!queue.isEmpty())
            {
                int size = queue.size();
                List<Integer> list = new ArrayList<Integer>();
                for(int i = 0; i < size; i++)
                {
                    TreeNode node = queue.poll();
                    list.add(node.val);
                    if(node.left != null)
                        queue.offer(node.left);
                    if(node.right != null)
                        queue.offer(node.right);
                }
                rst.add(list);
            }
            // Collections.reverse(rst);
            return rst;
        }
    }
    View Code
  • 相关阅读:
    华为ensp使用
    网络学习目录
    MySQL简介
    zip命令详解
    gzip命令详解
    unzip/tar命令详解
    tar命令详解
    ipython使用
    os, sys, stat 模块使用
    配置linux系统时区---解决ntp同步完时间不准问题
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4339820.html
Copyright © 2011-2022 走看看