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();
}

最新文章

  1. jrebel实现tomcat热部署
  2. Entity Framework7 有哪些不同?之具体功能
  3. 细看INNODB数据落盘
  4. iOS 常用设计模式和机制之 KVC
  5. SQL中使用update inner join和delete inner join
  6. UVa 714 (二分) Copying Books
  7. 【翻译自mos文章】DBA_JOBS 和 DBA_JOBS_RUNNING 不同的结果的解释
  8. 使用laravel 的artisan快速创建表
  9. Ant快速入门(四)-----Ant的任务(Task)
  10. 【模拟】XMU 1054 Hacker
  11. linux发行版和内核的关系
  12. 细胞(cell) 矩阵快速幂
  13. P1119 灾后重建(floyd进阶)
  14. 安装 python pip Django
  15. Java开发知识之Java的数字处理类Math类
  16. webpack学习笔记——--save-dev和--save
  17. The resource configuration is not modifiable in this context.
  18. 易错之for循环
  19. shell脚本判断执行用户
  20. 2、Pyspider使用入门

热门文章

  1. Quartz.NET在ASP.NET 中使用
  2. CentOS下使用crontab命令来定时执行任务
  3. 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的完全卸载(图文详解)
  4. 谈谈Linux下的数据流重定向和管道命令
  5. js便签笔记(10) - 分享:json2.js源码解读笔记
  6. PHP 使用 GeoIP 进行不同国家 ip 测试
  7. 面试题----C语言中exit和return的区别
  8. 面试题---实现strcpy函数
  9. Leetcode 763. Partition Labels
  10. OAuth2.0的理解&amp;基础