二叉树的层序遍历 II_107
二叉树的层序遍历II
题目:二叉树的层序遍历 II
给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
输入:[3,9,20,null,null,15,7]
3
/ \
9 20
/ \
15 7
输出:
[
[15,7],
[9,20],
[3]
]
题解:BFS
class Solution {
public List<List<Integer>> levelOrderBottom(TreeNode root) {
LinkedList<List<Integer>> res=new LinkedList<>();
if(root == null) return res;
Queue<TreeNode> queue=new LinkedList<>();
queue.add(root);
while (!queue.isEmpty())
{
List<Integer> level=new ArrayList<>();
int l=queue.size();
for(int i=0;i<l;i++)
{
TreeNode temp=queue.poll();
level.add(temp.val);
if(temp.left !=null)
queue.add(temp.left);
if(temp.right!=null)
queue.add(temp.right);
}
res.addFirst(level);
}
return res;
}
}