题目:

  • 从上到下按层打印二叉树,同一层节点从左向右输出,每一层输出一行

代码(python):

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:# 返回二维列表[[1,2],[4,5]]def Print(self, pRoot):# write code here# 定义两个队列if pRoot == None:    # 若二叉树为空,则返回空列表return []queue1 = [pRoot]     # 定义队列1,把根结点赋值给他queue2 = []          # 定义队列2ret = []     # 最终的结果while queue1 or queue2:   # 若两个队列其中一个不空,则一直循环:if queue1:          # 若队列1存在tmpret = []        # 临时结果列表while queue1:    # 遍历队列1的所以元素tmpNode = queue1[0]     # 将头元素,赋值给tmpNodetmpret.append(tmpNode.val)   # 添加到临时结果列表del queue1[0]      # 删除头元素if tmpNode.left:       # 若tmpNode存在左节点queue2.append(tmpNode.left)    # 则将左节点赋值给队列2if tmpNode.right:      # 若tmpNode存在右节点queue2.append(tmpNode.right)   # 则将右节点赋值给队列2ret.append(tmpret)      # 添加到结果列表if queue2:         # 若队列2存在tmpret = []      # 临时结果列表while queue2:     # 遍历队列2的所以元素tmpNode = queue2[0]     # 将头元素,赋值给tmpNodetmpret.append(tmpNode.val)    # 添加到临时结果列表del queue2[0]    # 删除头元素if tmpNode.left:   # 若tmpNode存在左节点queue1.append(tmpNode.left)    # 则将左节点赋值给队列1if tmpNode.right:      # 若tmpNode存在右节点queue1.append(tmpNode.right)   # 则将右节点赋值给队列1ret.append(tmpret)return ret

剑指offer、把二叉树打印成多行(python)相关推荐

  1. 剑指offer:二叉树打印成多行(层次遍历)

    1. 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 2. 思路 层次遍历 3. 递归 public class Solution {ArrayList<ArrayL ...

  2. 剑指offer——面试题60:把二叉树打印成多行

    剑指offer--面试题60:把二叉树打印成多行 Solution1: 20180911重做.经典题目.牢记做法! /* struct TreeNode {int val;struct TreeNod ...

  3. 《剑指offer》-- 二叉树的下一个结点、对称二叉树、按之字性顺序打印二叉树、把二叉树打印成多行

    一.二叉树的下一个结点: 1.题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 2.解题思路: 分析二叉树 ...

  4. 剑指offer编程试题Java实现--60.把二叉树打印成多行

    个人博客:小景哥哥 60.把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. import java.util.ArrayList; import java ...

  5. 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java

    <LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...

  6. 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java

    <LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...

  7. 【LeetCode】剑指 Offer 34. 二叉树中和为某一值的路径

    [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 文章目录 [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 package offer;import ja ...

  8. 【LeetCode】剑指 Offer 27. 二叉树的镜像

    [LeetCode]剑指 Offer 27. 二叉树的镜像 文章目录 [LeetCode]剑指 Offer 27. 二叉树的镜像 一.递归法 二.辅助栈(或队列) 一.递归法 根据二叉树镜像的定义,考 ...

  9. 算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)

    文章目录 剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树: 样例 1: 限制: 分析 题解 rust go c++ java python 原题传送门:https://leetcode. ...

  10. JZ27 [剑指 Offer 27] 二叉树的镜像

    二叉树的镜像 Category Difficulty Likes Dislikes lcof Easy (79.61%) 311 - 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: ...

最新文章

  1. oracle恢复是怎么看进度,Oracle中查看慢查询进度的脚本分享
  2. java mysql 自动提交_Mybatis的JDBC提交设置/关闭mysql自动提交------关于mysql自动提交引发的惨剧...
  3. 昨日我是谁,今日谁是我
  4. 浅谈android hook技术
  5. VSCode生成.vue模版
  6. 使用JDBCTemplate实现与Spring结合,方法公用 ——共用实现类(BaseImpl)
  7. 特征工程之特征缩放特征编码
  8. AI CycleGAN
  9. split添加limit参数
  10. cms自动更新php文件,PHPCMS站群管理系统-PHPCMS自动采集-PHPCMS自动更新
  11. vscode+unity+Emmylua调试使用教程
  12. 微型计算机 路由,华硕RT-AC68U无线路由器深度体验
  13. 谈谈本人做广告联盟的经验
  14. AMR文件时长解析——附c代码
  15. PS2018 cc的下载和安装
  16. 电脑(伪)大神装B必备,来学几个windows脚本命令
  17. Android SurfaceView、TextureView区别
  18. cmpp 免提短信(闪信)
  19. SQLZOO练习题 (8)
  20. 把英文翻译成中文php,中文翻译成英文,英文翻译成中文(调用的有道翻译的api)示例源码...

热门文章

  1. 中证协 | 安青松:“金融+科技”是证券业高质量发展的战略引擎
  2. “超级买手”阿里:一年投资65笔,涉及金额高达5400亿
  3. Julia :PyPlot的plot_date
  4. 阿里云邀您参加 2020 年数据湖高峰会议
  5. 第十届中国开源黑客松等你来
  6. 【电力负荷预测】基于matlab日特征气象因素支持向量机SVM电力负荷预测【含Matlab源码 1612期】
  7. 【三维路径规划】基于matlab改进粒子滤波无人机三维路径规划【含Matlab源码 1269期】
  8. 【图像处理】基于matlab GUI图像直方图+滤波+小波变换+分割处理系统【含Matlab源码 608期】
  9. 思维导图ubuntu_Ubuntu——思维导图导安装和configuration area错误
  10. 机器学习时会发生什么