AcWing 45. 之字形打印二叉树java
原题链接
中等
作者:
Lion
,
2019-06-29 15:50:20
,
所有人可见
,
阅读 765
class Solution {
public List<List<Integer>> printFromTopToBottom(TreeNode root) {
List<List<Integer>> ras = new ArrayList<>();
if(root==null) return ras;
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
boolean flag = true;
while(!queue.isEmpty()){
int size = queue.size();
List<Integer> curList = new LinkedList<>();
for(int i=0;i<size;i++){
TreeNode node = queue.poll();
if(flag) curList.add(node.val);
else curList.add(0,node.val);
if(node.left!=null) queue.add(node.left);
if(node.right!=null) queue.add(node.right);
}
flag = !flag;
ras.add(curList);
}
return ras;
}
}