从上到下打印二叉树

在这里插入图片描述

实现思路
使用队列存储对应的排序序列 。对于任何一个节点,当遍历到他时,要把他的左右子节点 加入到 当前队列的尾部、
代码:

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;

	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值