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

    题目

    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).

    For example:
    Given binary tree {3,9,20,#,#,15,7},

        3
       / 
      9  20
        /  
       15   7
    

    return its bottom-up level order traversal as:

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

    题解
    这道题跟前面一道是一样的。。
    只是存到res的结果顺序不一样罢了。
    之前那个就是循序的存
    这道题就是每得到一个行结果就存在res的0位置,这样自然就倒序了。

    代码如下:
    public class Solution {
        public List<List<Integer>> levelOrderBottom(TreeNode root) 
        {
            List<List<Integer>> res = new LinkedList<List<Integer>>();
            Queue<TreeNode> queue = new LinkedList<TreeNode>();
            if(root==null) return res;
            queue.add(root);
            while(!queue.isEmpty())
            {
                int levelnum = queue.size(); //这层有几个TreeNode
                List<Integer> sublist = new LinkedList<Integer>();
                for(int i=0; i<levelnum;i++)
                {
                    TreeNode node = queue.poll();
                    if(node.left!=null) queue.add(node.left);
                    if(node.right!=null) queue.add(node.right);
                    sublist.add(node.val);
                }
                res.add(0,sublist);
            }
            return res;       
        }
    }

    与I唯一的不同就是这个res.add(0,sublist)的地方。

  • 相关阅读:
    Index(4.3)
    第七次会议(4.22)
    第六次会议(4.15)
    第五次会议(4.8)
    第四次会议(4.2)
    第三次会议(3.25)
    第二次扩大会议(3.19)
    第二次会议(3.25)
    第一次会议(3.11)
    牛客练习赛25A求1-x因数和(离散求和)
  • 原文地址:https://www.cnblogs.com/hygeia/p/4704053.html
Copyright © 2011-2022 走看看