当前位置: 首页 > news >正文

榆林市网站seo建造师个人业绩查询系统

榆林市网站seo,建造师个人业绩查询系统,网站排名优化怎么样,开发小程序的费用明细【LetMeFly】429.N 叉树的层序遍历:广度优先搜索(BFS) 力扣题目链接:https://leetcode.cn/problems/n-ary-tree-level-order-traversal/ 给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)…

【LetMeFly】429.N 叉树的层序遍历:广度优先搜索(BFS)

力扣题目链接:https://leetcode.cn/problems/n-ary-tree-level-order-traversal/

给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。

树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

 

示例 1:

输入:root = [1,null,3,2,4,null,5,6]
输出:[[1],[3,2,4],[5,6]]

示例 2:

输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
输出:[[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]]

 

提示:

  • 树的高度不会超过 1000
  • 树的节点总数在 [0, 10^4] 之间

方法一:广度优先搜索(BFS)

和之前二叉树的广度优先搜索一样,我们可以使用一个队列来存放每一层的节点,再让这些节点依次出队,并将节点的孩子们(如有)入队。

  • 时间复杂度 O ( N ) O(N) O(N),其中 N N N是节点个数
  • 空间复杂度 O ( N 2 ) O(N2) O(N2),其中 N 2 N2 N2是节点最多的一层的节点数

AC代码

C++
class Solution {
public:vector<vector<int>> levelOrder(Node* root) {vector<vector<int>> ans;queue<Node*> q;if (root) {q.push(root);}while (q.size()) {ans.push_back({});for (int _ = q.size(); _ > 0; _--) {Node* thisNode = q.front();q.pop();ans.back().push_back(thisNode->val);for (Node* nextNode : thisNode->children) {q.push(nextNode);}}}return ans;}
};
Python
# from typing import List, Optional# Definition for a Node.
class Node:def __init__(self, val=None, children=None):self.val = valself.children = childrenclass Solution:def levelOrder(self, root: Optional[Node]) -> List[List[int]]:ans = []q = []if root:q.append(root)while q:ans.append([])for _ in range(len(q)):thisNode = q[0]q = q[1:]ans[-1].append(thisNode.val)for nextNode in thisNode.children:q.append(nextNode)return ans

针对于Python的语法糖,若使用两个数组可以很大程度上减少代码量(甚至提高效率):

# from typing import Optional, List# Definition for a Node.
class Node:def __init__(self, val=None, children=None):self.val = valself.children = childrenclass Solution:def levelOrder(self, root: Optional[Node]) -> List[List[int]]:ans = []a = []if root:a.append(root)while a:ans.append([thisNode.val for thisNode in a])a = [nextChild for thisNode in a for nextChild in thisNode.children]return ans

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/136136336

http://www.yayakq.cn/news/630394/

相关文章:

  • 网站建设模板型和定制型南联网站建设
  • 营销型网站设计论文专业网页制作什么价格
  • 浙江大洋建设集团有限公司网站wordpress 命令行高亮
  • 网上做汽配生意的网站微信自己开发小程序
  • 求职网站建设方案苏州市建设工程信息网
  • 个人怎样建网站赚钱彩票网站怎么做的
  • 柳州市网站建设400建筑网官网
  • 优化网站专题google如何提交网站
  • 做网站模板在哪儿找网站群建设技术规范
  • 公司网站建设服务费计入什么科目上海手机网站建设电话
  • 网站后台任务网站建设设备
  • 内蒙古住房和城乡建设厅网站 工程建设管理昆明官网seo费用
  • 网站销售需要什么手续网站首页备案号链接
  • 网站的费用可以做无形资产厦门的商城网站建设
  • 长乐市住房和城乡建设局网站舒城做网站
  • 如何刷网站访问量网站建设项目外包
  • 三木做网站有几个网站如何做外贸
  • 做网站入门个人网站 阿里云
  • 统计网站访客人数lol有哪些网站是做陪玩的
  • 黄村网站建设费用制作效果图的软件
  • 网站基本特点网站难做
  • 如何查询网站点击率杭州昨晚发生大事了
  • 下沙经济开发区建设局网站wordpress仪表盘关闭
  • 濮阳网站关键词网站会员营销
  • 静态网页有什么特点seo网络推广技术员招聘
  • 网站关键词如何优化上首页做算命网站挣钱么
  • 安徽网站建设产品介绍咨询管理
  • 甘肃最近发生的重大事情整站优化的公司
  • 南京便宜网站建设什么网站教人做3d效果图
  • 网站建设评审意见wordpress面包屑文字大小如何调整