zoukankan      html  css  js  c++  java
  • 剑指offer——从上往下打印二叉树

    题目描述:从上到下打印二叉树的节点,同一层的从左到右打印

    思路:采用队列来存储单层的节点,然后通过删除队列的头结点操作,依次遍历每一层。

    代码为:

     1 import java.util.ArrayList;
     2 /**
     3 public class TreeNode {
     4     int val = 0;
     5     TreeNode left = null;
     6     TreeNode right = null;
     7 
     8     public TreeNode(int val) {
     9         this.val = val;
    10 
    11     }
    12 
    13 }
    14 */
    15 //用ArrayList来模拟一个队列
    16 public class Solution {
    17     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
    18         ArrayList<Integer> list = new ArrayList<>();
    19         ArrayList<TreeNode> queue = new ArrayList<>();
    20         if (root == null){
    21             return list;
    22         }
    23         queue.add(root); 
    24         while(queue.size()!=0){
    25             TreeNode temp = queue.remove(0);
    26             if(temp.left!=null){
    27                 queue.add(temp.left);
    28             }
    29             if(temp.right!=null){
    30                 queue.add(temp.right);
    31             }
    32             list.add(temp.val);
    33         }
    34         return list;
    35     }
    36 }
  • 相关阅读:
    Oracle数据库
    Python-aiohttp百万并发
    Sentry的安装搭建与使用
    traceroute命令初探
    Python中断言与异常的区别
    二十三种设计模式及其python实现
    Celery
    SQLAlchemy
    python里使用reduce()函数
    python实现栈
  • 原文地址:https://www.cnblogs.com/10081-AA/p/10753044.html
Copyright © 2011-2022 走看看