LeetCode题解之Merge k Sorted Lists 解法二
2024-08-22 08:22:29
1、题目描述
2、分析
利用 vector 存储指针,同时合并k个链表。
3、代码
ListNode* mergeKLists(vector<ListNode*>& lists) { vector<ListNode*> p;
for (vector<ListNode*>::iterator it = lists.begin(); it != lists.end(); it++) {
if (*it != NULL){
ListNode *pn = *it;
p.push_back(pn);
}
} if (p.size() == )
return NULL; ListNode *dummy = new ListNode();
ListNode *pn = dummy; while (p.size() > ) {
int n = minval(p);
pn->next = p[n];
pn = pn->next;
p[n] = p[n]->next;
if (p[n] == NULL)
p.erase(p.begin() + n);
}
return dummy->next;
} int minval(vector<ListNode*> p)
{
auto res = p.begin();
for (auto it = p.begin(); it != p.end(); it++) {
if ((*it)->val <= (*res)->val)
res = it;
}
return res - p.begin();
}
最新文章
- jrebel实现tomcat热部署
- Entity Framework7 有哪些不同?之具体功能
- 细看INNODB数据落盘
- iOS 常用设计模式和机制之 KVC
- SQL中使用update inner join和delete inner join
- UVa 714 (二分) Copying Books
- 【翻译自mos文章】DBA_JOBS 和 DBA_JOBS_RUNNING 不同的结果的解释
- 使用laravel 的artisan快速创建表
- Ant快速入门(四)-----Ant的任务(Task)
- 【模拟】XMU 1054 Hacker
- linux发行版和内核的关系
- 细胞(cell) 矩阵快速幂
- P1119 灾后重建(floyd进阶)
- 安装 python pip Django
- Java开发知识之Java的数字处理类Math类
- webpack学习笔记——--save-dev和--save
- The resource configuration is not modifiable in this context.
- 易错之for循环
- shell脚本判断执行用户
- 2、Pyspider使用入门
热门文章
- Quartz.NET在ASP.NET 中使用
- CentOS下使用crontab命令来定时执行任务
- 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的完全卸载(图文详解)
- 谈谈Linux下的数据流重定向和管道命令
- js便签笔记(10) - 分享:json2.js源码解读笔记
- PHP 使用 GeoIP 进行不同国家 ip 测试
- 面试题----C语言中exit和return的区别
- 面试题---实现strcpy函数
- Leetcode 763. Partition Labels
- OAuth2.0的理解&;基础