给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class BianLiTree {
public static void main(String[] args) {
}
public List<List<Integer>> putit(TreeNode treeNode){
List list=new LinkedList();
Queue queue=new LinkedList();
queue.add(treeNode);
while (!queue.isEmpty()){
List list1=new LinkedList();
int size=queue.size();
for (int i = 0; i <size ; i++) {
TreeNode treeNode1= (TreeNode) queue.poll();
list1.add(treeNode1.val);
queue.add(treeNode1.left);
queue.add(treeNode1.right);
}
list.add(list1);
}
//Collections.reverse(list);
//自底向上
return list;
}
}