我是靠谱客的博主 害怕黑裤,最近开发中收集的这篇文章主要介绍小黑再一次独立解决leetcode困难,中午没运行出来,晚上在地铁上运行出来的leetcode之旅:87. 二叉树的垂序遍历,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

小黑代码

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def verticalTraversal(self, root: Optional[TreeNode]) -> List[List[int]]:
        # 记录结果输出
        items = {}
        def dfs(node, pos):
            if not node:
                return
            # 将结果记录
            items[pos[1]] = (items.get(pos[1], []))
            items[pos[1]].append((node.val, pos[0]))
            dfs(node.left, (pos[0] + 1, pos[1] - 1))
            dfs(node.right, (pos[0] + 1, pos[1] + 1))
        dfs(root, (0, 0))
        results = []
        # print(items)
        for col in sorted(items.keys()):
            # print(items[col])
            results.append([item[0] for item in sorted(items[col], key = lambda x:(x[1], x[0]))])
        return results

在这里插入图片描述
在这里插入图片描述

自定义排序

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def verticalTraversal(self, root: Optional[TreeNode]) -> List[List[int]]:
        nodes = []
        def dfs(node, x = 0, y = 0):
            if not node:
                return
            nodes.append((y, x, node.val))
            # 递归遍历左右子树
            dfs(node.left, x + 1, y - 1)
            dfs(node.right, x + 1, y + 1)
        dfs(root)
        # y变化则装list
        last_y = None
        arr = []
        # 顺序key排序
        for y, x, val in sorted(nodes):
            if y != last_y:
                last_y = y
                arr.append([])
            arr[-1].append(val)
        return arr

在这里插入图片描述

小黑生活

肥牛烤串南城香晚饭

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

看到几年前做按摩拍的照片,虽然快累死人家了,但还是有点儿忍不住想笑

在这里插入图片描述

继续哈农学习

在这里插入图片描述

早餐牛排元起满满

在这里插入图片描述

今天出去跑跑,到望京CBD那里转转

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中午继续肥牛烤串

在这里插入图片描述

无算法不咖啡

在这里插入图片描述

买了实验楼会员课(839rmb),工作做完了抽空看看,区块链基础

在这里插入图片描述

偷偷摸摸出去去拿疯狂星期四~看着远处的灯火,有种未来感

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

看着雪景,准备学琴去啦,初步学习啦怎么发力

在这里插入图片描述
在这里插入图片描述

第一次地铁里敲代码,记录一下~

在这里插入图片描述

希望小黑明天能起来跑个10km吧,期待明天公司团建!

最后

以上就是害怕黑裤为你收集整理的小黑再一次独立解决leetcode困难,中午没运行出来,晚上在地铁上运行出来的leetcode之旅:87. 二叉树的垂序遍历的全部内容,希望文章能够帮你解决小黑再一次独立解决leetcode困难,中午没运行出来,晚上在地铁上运行出来的leetcode之旅:87. 二叉树的垂序遍历所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部