标签:use java off package from 添加 nbsp 打印 ++
package jianzhiOffer; import java.util.ArrayList; /** * 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 * * @author user 思路:本题中我们利用层序遍历的思想,首先将树中所有节点 按照一层从左到右依次保存到ArrayList中,然后在逐一取出 * 节点的值添加到集合中,最后返回集合。 */ class TreeNode3 { int val = 0; TreeNode3 left = null; TreeNode3 right = null; public TreeNode3(int val) { this.val = val; } } public class ch22 { int i = 0; int count = 0; boolean flag = true; ArrayList<Integer> arr = new ArrayList<>(); public ArrayList<Integer> PrintFromTopToBottom(TreeNode3 root) { ArrayList<TreeNode3> node = new ArrayList<>(); if (root != null) { node.add(root); while (flag) { if (root.left != null) { node.add(root.left); count++; } if (root.right != null) { node.add(root.right); count++; } // i总是一层一层从左往右的移动 if (i < count) { i++; root = node.get(i); } else { flag = false; } } } for (int i = 0; i < node.size(); i++) { arr.add(node.get(i).val); } return arr; } }标签:use java off package from 添加 nbsp 打印 ++
原文地址:http://blog.51cto.com/12222886/2063077