首页 > 编程语言 >代码随想录算法训练营第十三天| 层序遍历 226.翻转二叉树 (优先掌握递归) 101. 对称二叉树 (优先掌握递归)

代码随想录算法训练营第十三天| 层序遍历 226.翻转二叉树 (优先掌握递归) 101. 对称二叉树 (优先掌握递归)

时间:2023-06-21 10:24:10浏览次数:45  
标签:优先 递归 top selected _- 二叉树 push result

层序遍历

注意:

1,使用队列的形式,依次入队,同时对队列进行计数

2,知道数目消失,才进行下一个队列

代码:

 1 vector<vector<int>> levelOrder(TreeNode* root) 
 2 {
 3     vector<vector<int>> result;
 4     if (root == NULL) return result;
 5     queue<TreeNode*> selected;
 6 
 7     selected.push(root);
 8     while (!selected.empty())
 9     {
10         vector<int> valueItem;
11         int nodeCountByLayer = selected.size();
12         while (nodeCountByLayer != 0)
13         {
14             auto top_ = selected.front();
15             selected.pop();
16 
17             valueItem.push_back(top_->val);
18             if (top_->left != NULL) selected.push(top_->left);
19             if (top_->right != NULL) selected.push(top_->right);
20 
21             nodeCountByLayer--;
22         }
23 
24         result.push_back(valueItem);
25     }
26 
27     return result;
28 }

 

标签:优先,递归,top,selected,_-,二叉树,push,result
From: https://www.cnblogs.com/smartisn/p/17495554.html

相关文章

  • java递归创建目录
    importjava.io.File;publicclassCreateDirectory{publicstaticvoidmain(String[]args){Stringpath="D:\\heap\\d\\c\\e";createDirectory(path);}publicstaticvoidcreateDirectory(Stringpath){......
  • 数据结构和算法系列课程(01)--- 排序二叉树和红黑树
    把排序二叉树放在这个系列课程的第一个部分似乎有些唐突,但是考虑到它在面试中出现的可能性,把它放在这样的一个位置也就不足为奇了。关于树和二叉树的基础知识,可以到下面的链接中下载我的课件进行了解。下面给出一个排序二叉树的Java实现:packagcom.loonstudio;/***排序二叉树......
  • 优先队列和惰性队列
    1.优先队列1.1场景在我们系统中有一个订单催付的场景,我们的客户在天猫下的订单淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒,很简单的一个功能对吧,但是,tmall商家对我们来说,肯定是要分大客户和小客户的对吧,比如像苹果,小米这样大......
  • 【计算机算法设计与分析】线性时间选择(C++_分治递归)
    问题描述给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素。思路线性时间选择有两种方法:(1)随机选择快排的标准元素。(2)将集合分为n个由五个元素组成的集合,对每个五元素集合求其中位数,再对所有的五元素集合的中位数求其中位数,作为快排的标准元素。CodeV-1(Ran......
  • 代码随想录算法训练营第十二天| 递归遍历 (必须掌握)迭代遍历 统一迭代
    递归遍历重点:1,TreeNode的自定义2,val=0== val=NULL;代码:1voidpreRecursor(TreeNode*root,vector<int>&result)2{3if(root==NULL)4return;5result.push_back(root->val);6preRecursor(root->left,result);7......
  • 数据结构代码整理_基于邻接表的拓扑排序(C++_DFS_BFS_递归)
    目录Chat图解基于栈实现(dfs)基于队列实现(bfs)基于递归实现(dfs)Chat1.代码所属的类在数据结构代码整理_基于邻接表存储结构的有向图的实现(C++)2.拓扑排序的思想就是不断找入度为0的节点并将其输出并标记,标记后与他相连的节点的入度都会减一,不断进行标记直至所有的节点都被输出为止......
  • 深度优先搜索算法-dfs讲解
    迷宫问题有一个迷宫:S**.....***T(其中字符S表示起点,字符T表示终点,字符*表示墙壁,字符.表示平地。你需要从S出发走到T,每次只能向上下左右相邻的位置移动,不能走出地图,也不能穿过墙壁,每个点只能通过一次。)现在需要你求出是否可以走出这个迷宫我们将这个走迷宫过程称为dfs(深度优先搜索)......
  • 单值二叉树
    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回false。示例1:输入:[1,1,1,1,1,null,1]输出:true示例2:输入:[2,2,2,5,2]输出:false来源:力扣(LeetCode)链接:https://leetcode.cn/problems/univalued-binary-t......
  • 翻转二叉树
    给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出:[2,3,1]示例3:输入:root=[]输出:[]来源:力扣(LeetCode)链接:https://leetcode.cn/problems/invert-binary-tree著作权归......
  • 了解如何使用 7 PM 框架和模板优化优先级
    需求的优先级是项目经理工作中常被提及的,每一种优先级决策技术都有利有弊,也有对应的应用场景,如何选择合适的优决策技术,是产品经理做好优先级管理的前提。那么在项目管理工作中,要如何去评估需求的优先级呢?本文将介绍7个PM优先级框架及模版,并详细阐述其应用场景及应用步骤,助力PM更快......