zoukankan      html  css  js  c++  java
  • JZ59 按之字形顺序打印二叉树

    描述

    给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)
    例如:
    给定的二叉树是{1,2,3,#,#,4,5}

    该二叉树之字形层序遍历的结果是
    [
    [1],
    [3,2],
    [4,5]
    ]

    示例1

    输入:
    {1,2,3,#,#,4,5}
    返回值:
    [[1],[3,2],[4,5]]

    示例2

    输入:
    {8,6,10,5,7,9,11}
    返回值:
    [[8],[10,6],[5,7,9,11]]

    示例3

    输入:
    {1,2,3,4,5}
    返回值:
    [[1],[3,2],[4,5]

    =====================================================================================================================

    解题思路:
    我的解题思路是用堆栈进行操作,分为奇数行和偶数行,奇数行的话先进入左孩子,再进入右孩子。偶数行的话先进入右孩子再进入左孩子,这样子做虽然达到了目的,但是比较复杂,刚刚查看解析发现了一种更简单的做法,利用队列来做,
    然后再list里面对偶数行进行反转就行,属实比我想的简单很多。
  • 相关阅读:
    IE8下,时间函数问题
    sublime有时候用快捷键时出现的是css的快捷键
    热词高亮并去重
    关于百分比的margin
    手机端后退功能
    CSS3小水滴代码
    关于Gmapping的学习2
    关于概率运动模型
    A*算法的学习
    经典ICP算法
  • 原文地址:https://www.cnblogs.com/hddandelion/p/15167640.html
Copyright © 2011-2022 走看看