标签:
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路分析:使用两个LIST,一个存放节点,一个存放值。先将根节点加入到LIST中,然后遍历LIST中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到LIST中来
<span style="font-family:SimSun;font-size:18px;color:#3333ff;">import java.util.ArrayList; /** 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<TreeNode> listNode=new ArrayList<TreeNode> (); ArrayList<Integer> listVal=new ArrayList<Integer> (); if(root==null) return listVal; listNode.add(root); listVal.add(root.val); for(int i=0;i<listNode.size();i++){ TreeNode node= listNode.get(i); if(node.left!=null){ listNode.add(node.left); listVal.add(node.left.val); } if(node.right!=null){ listNode.add(node.right); listVal.add(node.right.val); } } return listVal; } }</span>
标签:
原文地址:http://blog.csdn.net/baidu_21578557/article/details/51526989