zoukankan      html  css  js  c++  java
  • 求二叉树层序遍历

    题目描述

    给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
    例如:
    给定的二叉树是{3,9,20,#,#,15,7},

     该二叉树层序遍历的结果是
    [
    [3],
    [9,20],
    [15,7]
    ]

    输入:{1,2}

    输出:[[1],[2]]

    import java.util.*;
    
    /*
     * public class TreeNode {
     *   int val = 0;
     *   TreeNode left = null;
     *   TreeNode right = null;
     * }
     */
    
    public class Solution {
        /**
         * 
         * @param root TreeNode类 
         * @return int整型ArrayList<ArrayList<>>
         */
        public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) {
            
            // write code here
            ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
            if (root == null ){
                return result;
            }
            Queue<TreeNode> queue = new LinkedList<TreeNode>();
            queue.offer(root);
            while(!queue.isEmpty()){
                ArrayList<Integer> floor = new ArrayList<Integer>();
                int len = queue.size();
                for (int i=0; i<len;i++){
                    TreeNode temp = queue.poll();
                    floor.add(temp.val);
                    if (temp.left !=null){
                        queue.offer(temp.left);
                    }
                    if (temp.right !=null){
                        queue.offer(temp.right);
                    }
                }
                result.add(floor);
            }
            
            return result;
        }
    }
     
     
  • 相关阅读:
    uC/OS-II时间(OS_time)块
    uC/OS-II任务(OS_task)块
    uC/OS-II信号(OS_sem)块
    uC/OS-II队列(OS_q)块
    uC/OS-II互斥信号(OS_mutex)块
    uC/OS-II内存(OS_mem)块
    elasticsearch-installation
    rabbitmq的安装
    str_翻转字符串
    str_2.判断两个字符串是否互为旋转词
  • 原文地址:https://www.cnblogs.com/jieran/p/14584303.html
Copyright © 2011-2022 走看看