手撕代码:合并K个升序链表 给你一个链表数组,每个链表都已经按升序排列 请你将所有链表合并到一个升序链表中 返回合并后的链表 用C++实现

题目描述:

合并K个升序链表 给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表

代码实现:

 // 合并K个链表 有序链表

#include <iostream>
#include <vector>
using namespace std;


struct ListNode {
     int val;
     ListNode *next;
     ListNode() : val(0), next(nullptr) {}
     ListNode(int x) : val(x), next(nullptr) {}
     ListNode(int x, ListNode *next) : val(x), next(next) {}
 };

class Solution
{
public:
	ListNode* mergeKLists(vector<ListNode*>& lists)
	{
		ListNode* head = nullptr;
		for (int i = 0; i < lists.size(); i++){  // 循环依次2个一直合并就行
			head = mergeTwoLists(head, lists[i]);
		}

		return head;
	}
	// 先把上面的函数࿰

猜你喜欢

转载自blog.csdn.net/mars1199/article/details/135036451