自上而下的打印二叉树,同时在同一层内需要进行从左向右的打印
采用层序遍历的方式进行实现
import java.util.ArrayList; import java.util.LinkedList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }
}
*/
public class Solution {
public ArrayList<integer> PrintFromTopToBottom(TreeNode root) {
//考察层序遍历
ArrayList<integer> result = new ArrayList<integer>();
if(root == null){//若为空节点
return new ArrayList<integer>();
}
//定义队列
LinkedList<treenode> queue = new LinkedList<treenode>();
queue.add(root);
while(!queue.isEmpty()){
//设置出队列
TreeNode tempNode = queue.poll();
result.add(tempNode.val);
if(tempNode.left != null){
queue.add(tempNode.left);
}
if(tempNode.right != null){
queue.add(tempNode.right);
}</treenode></treenode></integer></integer></integer></integer>
} return result; }
}
```