Python | Leetcode Python题解之第103题二叉树的锯齿形层序遍历

题目:

题解:

python 复制代码
class Solution:
    def zigzagLevelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        if not root: return []
        res, deque = [], collections.deque()
        deque.append(root)
        while deque:
            tmp = []
            # 打印奇数层
            for _ in range(len(deque)):
                # 从左向右打印
                node = deque.popleft()
                tmp.append(node.val)
                # 先左后右加入下层节点
                if node.left: deque.append(node.left)
                if node.right: deque.append(node.right)
            res.append(tmp)
            if not deque: break # 若为空则提前跳出
            # 打印偶数层
            tmp = []
            for _ in range(len(deque)):
                # 从右向左打印
                node = deque.pop()
                tmp.append(node.val)
                # 先右后左加入下层节点
                if node.right: deque.appendleft(node.right)
                if node.left: deque.appendleft(node.left)
            res.append(tmp)
        return res
相关推荐
codists15 分钟前
2025年9月文章一览
python
语落心生18 分钟前
FastDeploy SD & Flux 扩散模型边缘端轻量化推理部署实现
python
java1234_小锋31 分钟前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 立即执行模式(Eager Execution)
python·深度学习·tensorflow·tensorflow2
王大傻09281 小时前
numpy -- 算术函数 reciprocal() 和 power() 简介
python·numpy
咕白m6251 小时前
Python 将 Excel 转换为图片:实现数据可视化
后端·python
深蓝电商API1 小时前
不止是 Python:聊聊 Node.js/Puppeteer 在爬虫领域的应用
爬虫·python·node.js
Autumn72991 小时前
【材料学python入门】conda、 jupyter、cpu、GPAW、wsl、ubuntu
python·jupyter·conda
K2I-2 小时前
UCI中Steel Plates Faults不平衡数据集处理
python
蓑笠翁0012 小时前
Django REST Framework 全面指南:从模型到完整API接口开发
后端·python·django
Miraitowa_cheems2 小时前
LeetCode算法日记 - Day 64: 岛屿的最大面积、被围绕的区域
java·算法·leetcode·决策树·职场和发展·深度优先·推荐算法