/**
* 题目:从上往下打印二叉树 * 描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 * 方案: * 思路:使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中, * 访问该元素的左右节点,再将左右节点加入到队列中来。 * * */public class Four { public static ArrayListone(TreeNode node) { ArrayList list = new ArrayList<>(); if (node ==null) { return list; } Queue queue = new LinkedList<>(); queue.offer(node); //添加一个元素 while(!queue.isEmpty()) { TreeNode treeNode = queue.poll();//返回队列的元素 list.add(treeNode.var); if(treeNode.left !=null) { queue.offer(treeNode.left); } if(treeNode.right !=null) { queue.offer(treeNode.right); } } return list; } }