题目描述
blablabla
样例
class Solution {
public List<List<Integer>> printFromTopToBottom(TreeNode root) {
List<List<Integer>> data=new ArrayList<>();
if(root==null)
return data;
Queue<TreeNode> queue=new ArrayDeque<>();
Stack<TreeNode> stack=new Stack<>();
queue.add(root);
int flag=-1;
while(!queue.isEmpty()){
List<Integer> list=new ArrayList<>();
for(int i=0,n=queue.size();i<n;i++){
TreeNode node=queue.poll();
if(flag==-1)
list.add(node.val);
else
stack.add(node);
if(node.left!=null){
queue.add(node.left);
}
if(node.right!=null){
queue.add(node.right);
}
}
if(flag==1){
while(!stack.isEmpty())
list.add(stack.pop().val);
}
flag=-flag;
data.add(list);
}
return data;
}
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla