码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer22

时间:2018-01-20 10:57:37      阅读:123      评论:0      收藏:0      [点我收藏+]

标签: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; } }


剑指offer22

标签:use   java   off   package   from   添加   nbsp   打印   ++   

原文地址:http://blog.51cto.com/12222886/2063077

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!