【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-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享