给定一个二叉树,返回该二叉树由底层到顶层的层序遍历,(从左向右,从叶子节点到根节点,一层一层的遍历)
例如:
给定的二叉树是{3,9,20,#,#,15,7},
很简单,反转一下就行啊。
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ import java.util.Queue; import java.util.LinkedList; import java.util.ArrayList; public class Solution { public ArrayList<ArrayList<Integer>> levelOrderBottom(TreeNode root) { //这道提题目在之前做过,但是经历了今天的练习也算是有一个意识上的突破,以前我希望在加入队列之前就把 //相关的数据加入结果集合中,但是殊不知在加入队列之后再加入结果集也是可以的。 ArrayList<ArrayList<Integer>> resultTemp = new ArrayList<ArrayList<Integer>>(); if(root != null){ Queue<TreeNode> queue = new LinkedList<>(); qu