首页 > 其他分享 >103. 二叉树的锯齿形层序遍历

103. 二叉树的锯齿形层序遍历

时间:2024-06-18 15:13:36浏览次数:11  
标签:遍历 TreeNode int 层序 queue 二叉树 103 root

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func zigzagLevelOrder(root *TreeNode) [][]int {
    // 层序遍历改下
    if root == nil {
        return nil
    }

    queue := []*TreeNode{root}
    res := [][]int{}
    flag := 0
    for len(queue)>0 {
        sz := len(queue)
        list := make([]int, 0, sz)
        for i:=0; i<sz; i++ {
            node := queue[0]
            queue = queue[1:]
            list = append(list, node.Val)
            if node.Left != nil {
                queue = append(queue, node.Left)
            }
            if node.Right != nil {
                queue = append(queue, node.Right)
            }
        }
        if flag%2 == 1 {
            for i:=0; i<len(list)/2; i++ {
                list[i], list[len(list)-i-1] = list[len(list)-i-1], list[i] 
            }
        }
        flag++
        res = append(res, list)
    }
    return res
}

标签:遍历,TreeNode,int,层序,queue,二叉树,103,root
From: https://www.cnblogs.com/gdut17code/p/18254387

相关文章

  • 从零开始学数据结构系列之第三章《先序线索二叉树查找及总代码》
    文章目录查找下一个节点总代码往期回顾查找下一个节点​  我们为啥没有像中序二叉树一样有第一个节点,因为我们一开始最大就是我们的根节点,所以无需遍历去寻找我们的第一个节点,我们的T就是我们的第一个节点​我们回过来看中序线索二叉树的节点应该是怎么写的/*......
  • 二叉树的基础讲解
    二叉树在遍历,查找,增删的效率上面都很高,是数据结构中很重要的,下面我们来基础的认识一下。(高级的本人还没学,下面的代码用伪代码或C语言写的)我会从树,树的一些专有名词,树的遍历,二叉树,二叉树的遍历以及后面升级的树进行一部分的介绍。树首先我们从最开始的树来进行讲解,我们知道......
  • 5.3.2_3 在线索二叉树中找前驱后继
    ......
  • 6.16-二叉树的层序遍历~
    429.N叉树的层序遍历题意描述:给定一个N叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。例如,给定一个3叉树:返回其层序遍历:[[1],[3,2,4],[5,6]]思路:AC代码:classSolution{public:vector<vector<int>>levelOrder(Node*root){queue<No......
  • 05-5.3.1_1 二叉树的先中后序遍历
    ......
  • 5.3.1_2 二叉树的层次遍历
    ......
  • 【数据结构】遍历二叉树(递归思想)-->赋源码
    欢迎来到我的Blog,点击关注哦......
  • Day21 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数 、236. 二叉树的最近公
    530.二叉搜索树的最小绝对差需要领悟一下二叉树遍历上双指针操作,优先掌握递归题目链接/文章讲解:https://programmercarl.com/0530.二叉搜索树的最小绝对差.html视频讲解:https://www.bilibili.com/video/BV1DD4y11779思考中序遍历的同时,用pre记录一下上一个节点。classSolut......
  • 6.14-二叉树遍历
    题目分类题目分类大纲如下:二叉树的种类在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。如图所示:这棵二叉树为满二叉树,也可以说深度为k,有......
  • LeetCode刷题之HOT100之二叉树的遍历
    2024/6/14这几天总是下雨,天气预报上面显示这个月都要持续下雨,下雨天了怎么办?我好想你,不敢打给你,我找不到原因。说着说着唱起来了哈哈!Anyway,昨天晚上打开了《涅朵奇卡一个女人的一生》,这本篇幅不长的小说我很久前就想看,还是从王小波那里知道的这本书,才开始看陀思妥耶夫斯基,......