剑指offer(三十七)之从上往下打印二叉树
Posted 奔跑着的国风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer(三十七)之从上往下打印二叉树相关的知识,希望对你有一定的参考价值。
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路分析:使用两个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>
以上是关于剑指offer(三十七)之从上往下打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章