zoukankan      html  css  js  c++  java
  • 107 Binary Tree Level Order Traversal II 二叉树的层次遍历 II

    给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶节点所在层到根节点所在的层,逐层从左向右遍历)
    例如:
    给定二叉树 [3,9,20,null,null,15,7],
        3
       /
      9  20
        / 
       15   7
    返回其自自底向上的层次遍历为:
    [
      [15,7],
      [9,20],
      [3]
    ]
    详见:https://leetcode.com/problems/binary-tree-level-order-traversal-ii/description/

    Java实现:

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public List<List<Integer>> levelOrderBottom(TreeNode root) {
            List<List<Integer>> res = new ArrayList<List<Integer>>();  
            if(root == null) {
                return res;
            } 
            LinkedList<TreeNode> que= new LinkedList<TreeNode>();  
            que.add(root);
            int node=1;
            ArrayList<Integer> out = new ArrayList<Integer>();  
            while(!que.isEmpty()){  
                root = que.poll();  
                --node;
                out.add(root.val);  
                if(root.left != null){  
                    que.add(root.left);  
                }  
                if(root.right != null){  
                    que.add(root.right); 
                }  
                if(node == 0){  
                    node=que.size();
                    res.add(0,out);
                    out = new ArrayList<Integer>();  
                }  
            }  
            return res;  
        }
    }
    
  • 相关阅读:
    代码 自动化部署
    java 反射工具
    springBoot 简化读取配置 Configuration Processor
    docker 安装redis
    怎么用mybatis
    shiro框架
    Nginx 负载均衡的几种方式
    CSS Reset
    两种CSS3圆环进度条详解
    兼容全浏览器的本地图片预览
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8719303.html
Copyright © 2011-2022 走看看