【C++笔记】关于push_back(vector<int>());
2021/12/5 11:18:06
本文主要是介绍【C++笔记】关于push_back(vector<int>());,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
vector<vector<int>> vec; vec.push_back(vector<int>()); vec.back().push_back();
今天在刷leetcode题的时候见到如上三句代码,很有意思。
第一句创建了一个实体为vertor<int>的容器,可以理解为一个二维数组;
第二句话相当于分隔符了,往二维数组里插入空的vector<int>(),可以理解为分行,即二维数组的下一行;
第三句话则是在每一行里插入数据。
EXAMPLE
//层序遍历 class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { //创建返回数组 vector<vector<int>> ans; //创建队列 queue<TreeNode*> que; //若空 if(root == nullptr) return ans; //根节点压入队列 que.push(root); //若队列不为空,循环 while(!que.empty()){ //当前队列长度 int queLen = que.size(); ans.push_back(vector<int>()); //循环遍历当前层所有节点 for(int i = 0; i < queLen; ++i){ //选择节点 auto node = que.front(); //选择的当前节点弹出队列 que.pop(); //将选择的当前节点的值压入数组 ans.back().push_back(node->val); //寻找当前节点的下一层节点压入队列 if(node->left) que.push(node->left); if(node->right) que.push(node->right); } } return ans; } };
以二叉树的层序遍历为例:
输入:[3,9,20,null,null,15,7]
输出:
[ [3], [9,20], [15,7] ]
这篇关于【C++笔记】关于push_back(vector<int>());的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享