小黑国贸喜茶面试跑步,被面试官肯定了数据结构算法能力心里略有开心的leetcode之旅:623. 在二叉树中增加一行

小黑分享了他在编程笔试中的经验,包括使用深度优先和层次遍历方法为二叉树添加一行节点的解决方案。他还提到最近的面试,成功解答了中等难度的算法题,获得了面试官的认可,但意识到需要加强计算机基础知识。此外,小黑的生活丰富多彩,从品尝网红麻辣烫到跑步锻炼,再到学习钢琴和接受事业单位笔试通知,展现了他积极的生活态度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小黑代码

# 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 addOneRow(self, root: Optional[TreeNode], val: int, depth: int) -> Optional[TreeNode]:
        self.depth = depth

        def dfs(node, depth):
            if not node:
                return
            # 深度+1
            depth += 1
            if depth == self.depth-1:
                left_node = TreeNode(val=val)
                left_node.left = node.left
                node.left = left_node
                right_node = TreeNode(val=val)
                right_node.right = node.right
                node.right = right_node
                return
            dfs(node.left, depth)
            dfs(node.right, depth)
        if depth==1:
            root_node = TreeNode(val=val)
            root_node.left = root
            root = root_node
        else:
            dfs(root,0)
        return root

在这里插入图片描述

深度优先

# 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 addOneRow(self, root: Optional[TreeNode], val: int, depth: int) -> Optional[TreeNode]:
        if not root:
            return
        if depth == 1:
            root = TreeNode(val=val, left=root)
        elif depth == 2:
            root.left = TreeNode(val=val, left=root.left)
            root.right = TreeNode(val=val, right=root.right)
            
        else:
            self.addOneRow(root.left, val, depth-1)
            self.addOneRow(root.right, val, depth-1)
        return root

在这里插入图片描述

层次遍历

# 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 addOneRow(self, root: Optional[TreeNode], val: int, depth: int) -> Optional[TreeNode]:
        if not root:
            return None
        # 深度为1的时候
        if depth == 1:
            return TreeNode(val=val, left=root)
        pre_layer = [root]
        # 找到第depth-1层
        for _ in range(1,depth-1):
            cur_layer = []
            for node in pre_layer:
                # 将其左右结点插入
                if node.left:
                    cur_layer.append(node.left)
                if node.right:
                    cur_layer.append(node.right)
            pre_layer = cur_layer
        # 对应depth的父结点操作
        for node in pre_layer:
            node.left = TreeNode(val=val, left=node.left)
            node.right = TreeNode(val=val, right=node.right)
        return root

在这里插入图片描述

小黑生活

在喜茶店轻轻松松完成了笔试,得益于小黑的日常积累

在这里插入图片描述

突然想去吃麻辣烫了,吃一吃网红的杨记麻辣烫,给生活留一些彩蛋

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

最近不知道为啥,迷恋上了植物大战僵尸直播

请添加图片描述
请添加图片描述

投了一个房地产的销售,聊的还不错,顺利通过了一面,感觉小黑充满自信的感觉好帅~

在这里插入图片描述

今天继续喜茶学习,实习面试,面试问了两道中等的算法题,我当面一次通过了检验,得到了面试官在数据结构算法上的肯定,但是对于计算机基础知识方面的薄弱也提出了建议,小黑要继续加油啊,要注重计算机基础和应用方面的学习

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

抽空附近跑个步,一直咳嗽

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

收到了事业单位的笔试通知,尽管小黑不是太想去事业单位也没有准备考试,前期不想贪图稳定,但也打算去尝试一下,毕竟总有一天将不会年轻,这个是要迟早要考虑的事情

在这里插入图片描述

尽管之前的钢琴机构关闭了,但小黑也要重启钢琴,尽管这次贵了一些只买了两个月,小黑利用实习赚剩下的钱填充了。年轻的时候要多学习,体验生活,别太在意攒钱,毕竟也攒不了多少钱~

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

小黑回家的路上,寒风中吃着烤冷面,哼着歌曲回家,感觉到了一种莫名的快乐感,明天加油,希望不要再睡到中午~

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值