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

做网站要找什么公司商城网站公司

做网站要找什么公司,商城网站公司,海口网站开发公司电话,设计网页公司哪家好【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/255039/

相关文章:

  • 番禺高端网站制作dede网站地图html
  • 房产发布网站建设厦门app定制公司
  • 企业电子商务网站建设问题wordpress 无刷新分页
  • 网站后台更新栏目手工外包网
  • 做个网站成本安徽旅游必去十大景点
  • 网站建设 技术方案不注册公司可以做网站吗
  • 金华网站制作网站域名备案在哪里
  • 网站产品关键词导出注册了自己的网站
  • 网站开发 放大图片事件营销的具体方法有哪些
  • 企业网站首页白云区pc端网站建设
  • 中文版网站建设费用东莞百度推广排名优化
  • 安徽建站管理系统价格同城网
  • 网站建设的定义快速网站seo效果
  • 有些网站下方只有版权没有ICP网站优化 前端怎么做
  • 有哪些公司建设网站wordpress页面制作
  • 网站策划书主题大连百度网站快速优化
  • 哪家手表网站苏州市吴江建设局网站
  • 网站建设待遇怎样景县网站建设
  • 新闻门户网站免费建设摄影工作室网站建设
  • 免费自助建站平台系统好看简洁的logo
  • 网站网页设计制作公司济南网站制作0531soso
  • 外贸网站建设如何做呢冒用公司名义做网站
  • 北京网站制作应用做淘宝图的素材搜索网站
  • 网站的三种基本类型seo优化一般优化哪些方面
  • 工程建设信息网站有哪些广州高端做网站
  • 怎样做摄影网站网站备案幕布怎么做
  • 网站设计的价格福州制作网站设计找哪家公司
  • 承德网站建设怎么建设的常熟网站建设
  • 私人彩票网站做几年牢网站建设科技
  • 英语做课后作业的网站wordpress 主题 图片