【9月打卡~Leetcode每日一题】107. 二叉树的层次遍历 II(难度:简单)
发布日期:2021-05-04 14:00:24 浏览次数:30 分类:精选文章

本文共 878 字,大约阅读时间需要 2 分钟。

107. 二叉树的层次遍历 II

给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

这两天真的是周末吗,力扣的每日一题居然是简单。

这道题就是一个BFS,最佳时间复杂度是N,如果想优化的话,python可以用一下deque,在插入和删除的时候提升速度(如果树比较大的话),不过实测速度提升不多

# Definition for a binary tree node.# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:        ans = []        bfs = collections.deque([root])        if not root:            return ans                    while(bfs):            stand = []            for _ in range(len(bfs)):                    node = bfs.popleft()                stand.append(node.val)                if node.left:                    bfs.append(node.left)                if node.right:                    bfs.append(node.right)            ans.insert(0,stand)                return ans
上一篇:【格雷码】
下一篇:【9月打卡~Leetcode每日一题】60. 第k个排列(难度:中等)

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月07日 21时47分45秒