题解 | #牛群分层排列#

牛群分层排列

https://www.nowcoder.com/practice/7e98027a60424c9ba88d9c4c0506ede4

  • 题目考察的知识点 : 二叉树的层次遍历
  • 题目解答方法的文字分析
  1. 初始化结果列表res及队列queue
  2. 将根节点入队
  3. 当queue不空时: 出队节点,将值加入当前层结果字符串;如果左子节点不为空,入队;如果右子节点不为空,入队
  4. 将当前层结果字符串加入res
  5. 重复步骤3直到queue为空
  6. 将res转换为字符串并返回
  • 本题解析所用的编程语言:Python
  • 完整且正确的编程代码

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param root TreeNode类 
# @return string字符串一维数组
#
from collections import deque
class Solution:
    def levelOrder(self , root: TreeNode) -> List[str]:
        # write code here
        if not root:
            return []
        res = []
        queue = deque([root]) 
        while queue:
            curr_layer = []
            for _ in range(len(queue)):
                node = queue.popleft()
                curr_layer.append(str(node.val))
      
                if node.left:
                    queue.append(node.left)
                if node.right:  
                    queue.append(node.right)

            res.append(''.join(curr_layer))
  
        return res
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

野猪不是猪🐗:我assume that你must技术aspect是solid的,temperament也挺good的,however面试不太serious,generally会feel style上不够sharp
点赞 评论 收藏
分享
秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务