题解 | #从上往下打印二叉树#
从上往下打印二叉树
http://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701
import java.util.ArrayList;
/**
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
import java.util.LinkedList;
import java.util.Queue;
public class Solution {
//用优先队列改变遍历方向
ArrayList<Integer> result=new ArrayList();
Queue<TreeNode> q=new LinkedList();
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
TreeNode curnode=null;
if(root!=null){
q.add(root);
}
while(q.size()!=0){
curnode=q.remove();
if(curnode.left!=null){
q.add(curnode.left);
}
if(curnode.right!=null){
q.add(curnode.right);
}
result.add(curnode.val);
}
return result;
}
}
CVTE公司福利 678人发布