【剑指offer】把二叉树打印成多行

原创 2018年04月16日 12:56:59

题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
思路:依然是层序遍历。。
# -*- 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 not pRoot:
            return None
        queue = [pRoot]
        last = pRoot
        tmp, res = [], []
        while queue:
            node = queue.pop(0)
            tmp.append(node.val)
            if node.left:
                queue.append(node.left)
            if node.right:
                queue.append(node.right)
            if node == last:
                res.extend(tmp)
                tmp = []
                if queue: last = queue[-1]
        return res

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38111819/article/details/79954593

剑指offer----把二叉树打印成多行----java实现

利用层次遍历的算法,设置变量last指向当前层的最后一个节点,设置变量count记录当前层已经访问的节点的个数,当count等于last时,表示该层访问结束。 层次遍历在求树的宽度、输出某一层节点,...
  • snow_7
  • snow_7
  • 2016-07-16 20:55:59
  • 1066

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

剑指offer 面试题60 把二叉树打印成多行 题目: 从上到下按层打印二叉树,同一层的结点按从左到右顺序打印, 每一层打印到一行。例如下面的二叉树的结果为: ...
  • liyazhou0215
  • liyazhou0215
  • 2017-06-08 19:10:23
  • 634

《剑指offer》把二叉树打印成多行

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/p...
  • libin1105
  • libin1105
  • 2015-09-13 23:04:36
  • 1305

把二叉树打印成多行(java版)

【题目描述】从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。【解题思路】层序遍历二叉树,依次打印出每层节点,遇到空节点跳过。//非递归import java.util.ArrayLis...
  • ouyangyanlan
  • ouyangyanlan
  • 2017-06-06 11:20:20
  • 1142

把二叉树打印成多行(Java实现)

本题为剑指offer面试题60 牛客网测试地址:https://www.nowcoder.com/questionTerminal/445c44d982d04483b04a54f298796288 ...
  • zjkC050818
  • zjkC050818
  • 2017-06-11 10:14:54
  • 800

【剑指Offer】把二叉树打印成多行 解题报告(Python)

【剑指Offer】把二叉树打印成多行 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interv...
  • fuxuemingzhu
  • fuxuemingzhu
  • 2018-03-28 11:28:21
  • 19

剑指offer-面试题60-把二叉树打印成多行

二叉树节点定义: package case60_PrintBinaryTreeByRows; /** * 二叉树节点结构定义。 * * @author WangSai * */ pub...
  • VIP_WangSai
  • VIP_WangSai
  • 2017-04-24 16:19:57
  • 335

剑指Offer面试题60:把二叉树打印成多行 Java实现

题目:把二叉树打印成多行           从上到下按层打印二叉树,同一行的节点从左到右的顺序打印,每一层打印到新的一行。例如,打印下图的二叉树结果为: 8, 6 10 ...
  • gg543012991
  • gg543012991
  • 2016-10-16 22:46:36
  • 220

把二叉树打印成多行(二叉树的层次遍历)

题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 二叉树的层次遍历,对于每一层的元素放在同一个列表中即可 # -*- coding:utf-8 -*- ...
  • You_are_my_dream
  • You_are_my_dream
  • 2017-01-28 13:00:46
  • 161

【剑指Offer学习】【面试题60:把二叉树打印出多行】

题目:从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印一行。解题思路  用一个队列来保存将要打印的结点。为了把二叉树的每一行单独打印到一行里,我们需要两个变量:一个变量表示在当前的...
  • DERRANTCM
  • DERRANTCM
  • 2015-07-13 08:00:38
  • 3301
收藏助手
不良信息举报
您举报文章:【剑指offer】把二叉树打印成多行
举报原因:
原因补充:

(最多只允许输入30个字)