从上到下打印二叉树
实现思路
使用队列存储对应的排序序列 。对于任何一个节点,当遍历到他时,要把他的左右子节点 加入到 当前队列的尾部、
代码:
import java.util.PriorityQueue;
import java.util.Queue;
/**
*
*/
/***
* @author 18071
* @Date 2019年3月10日
* 功能:
***/
public class test {
public static void main(String args[]) {
TreeNode root =new TreeNode (1);
root.right=new TreeNode (3);
root.left=new TreeNode (3);
root.left.left=new TreeNode (7);
root.right.right=new TreeNode(7);
Solution s =new Solution(root);
s.init(root);
s.prin();
}
}
class Solution{
Queue queue =new PriorityQueue ();
Solution(TreeNode root){
queue.offer(root.val);
}
public void init(TreeNode root) {
if(root==null) {
return;
}
if(root.left!=null) {
queue.offer(root.left.val);
}
if(root.right!=null) {
queue.offer(root.right.val);
}
init(root.left);
init(root.right);
}
public void prin() {
while(!queue.isEmpty()) {
System.out.println(queue.poll());
}
}
}
class TreeNode {
TreeNode left;
TreeNode right;
int val;
TreeNode(int x) {
this.val = x;
}
}