hgq's docs
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)

guoguoqiqi

漫不经心的向往
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)
  • 反转链表
  • 无重复字符的最长子串
  • LRU 缓存
  • 数组中的第K个最大元素
  • K个一组翻转链表
  • 三数之和
  • 手撕快速排序
  • 最大子数组和
  • 两数之和
  • 合并两个有序链表
  • 环形链表
  • 二叉树的层序遍历
  • 买卖股票的最佳时机
  • 二叉树的锯齿形层序遍历
    • 相交链表
    • 有效的括号
    • 二叉树的最近公共祖先
    • 合并两个有序数组
    • 搜索旋转排序数组
    • 最长回文子串
    • 岛屿的数量
    • 全排列
    • 字符串相加
    • 高频算法题
    guoguoqiqi
    2022-03-17

    二叉树的锯齿形层序遍历

    给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

    示例 1:

    image

    输入:root = [3,9,20,null,null,15,7]
    输出:[[3],[20,9],[15,7]]
    
    1
    2

    # 解法:广度优先遍历

    var zigzagLevelOrder = function(root) {
        if (!root) {
            return [];
        }
    
        const ans = [];
        const nodeQueue = [root];
    
        let isOrderLeft = true;
    
        while (nodeQueue.length) {
            let levelList = [];
            const size = nodeQueue.length;
            for (let i = 0; i < size; ++i) {
                const node = nodeQueue.shift();
                if (isOrderLeft) {
                    levelList.push(node.val);
                } else {
                    levelList.unshift(node.val);
                }
                if (node.left !== null) {
                    nodeQueue.push(node.left);
                }
                if (node.right !== null) {
                    nodeQueue.push(node.right);
                }
            }            
            ans.push(levelList);
            isOrderLeft = !isOrderLeft;
        }
    
        return ans;
    };
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal

    ← 买卖股票的最佳时机 相交链表→

    最近更新
    01
    vuex数据持久化怎么做
    05-22
    02
    vue的动态路由怎么配置使用
    05-22
    03
    vue权限控制一般怎么做
    05-22
    更多文章>
    Theme by Vdoing | Copyright © 2022-2022 Guoquoqiqi | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式