剑指offer(三十七)之从上往下打印二叉树
2016-05-28 22:03
218 查看
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路分析:使用两个LIST,一个存放节点,一个存放值。先将根节点加入到LIST中,然后遍历LIST中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到LIST中来
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路分析:使用两个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>
相关文章推荐
- 面向对象的Javascript(5):继承
- jQuery源码分析笔记一
- 面向对象的Javascript(4):重载
- 面向对象的JavaScript(3):私有成员和公开成员
- html5本地存储localStorage 存储json对象存储格式问题
- 面向对象的JavaScript(2):类
- 面向对象的JavaScript(一)命名空间
- 剑指offer32 整数中1出现的次数(从1到n整数中1出现的次数)
- JS学习19(Ajax与Comet)
- js 选择器
- 【牛腩新闻发布系统】——CSS初识
- 《JavaScript学习笔记二》:网页换肤
- web第二课html课堂笔记
- HTML5笔记(一)
- js小结:函数&变量
- js 检测flash 版本
- 剑指offer(三十六)之栈的压入、弹出序列
- JavaScript OOP
- 平台搭建2:ubuntu12.04下安装freesurfer
- fastjson-alibaba