# Leetcode Merge k Sorted Lists problem solution in C

Feb 25, 2023

In the Leetcode Merge k Sorted Lists problem solution in C programming Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

You are given an array of k linked-lists lists, each linked-list is sorted in ascending order.

Example 1:

Input: lists = [[1,4,5],[1,3,4],[2,6]]
Output: [1,1,2,3,4,4,5,6]
[
1->4->5,
1->3->4,
2->6
]
merging them into one sorted list:
1->1->2->3->4->4->5->6

Constraints:

• k == lists.length
• 0 <= k <= 104
• 0 <= lists[i].length <= 500
• -104 <= lists[i][j] <= 104
• lists[i] is sorted in ascending order.
• The sum of lists[i].length will not exceed 104.

## Leetcode Merge k Sorted Lists problem solution in C programming

``````void insert(struct ListNode**, int);
void swap(struct ListNode*, struct ListNode*);
void sort(struct ListNode*);

struct ListNode* mergeKLists(struct ListNode** lists, int listsSize){
if(!listsSize){
return NULL;
}
int i;
for(i = 1; i < listsSize; i++){
while(lists[i] != NULL){
lists[i] = lists[i]->next;
}
}
}

void insert(struct ListNode** head_ref, int val){
struct ListNode* newNode = (struct ListNode*)malloc(sizeof(struct ListNode));
newNode->val = val;
return;
}

void swap(struct ListNode* a, struct ListNode* b){
int temp;
temp = a->val;
a->val = b->val;
b->val = temp;
}

return;
}
int swapped;
struct ListNode* temp;
struct ListNode* last = NULL;
do{
swapped = 0;
while(temp->next != last){
if(temp->val > temp->next->val){
swap(temp, temp->next);
}
swapped = 1;
temp = temp->next;
}
last = temp;
}
while(swapped);
}``````

#### By Neha Singhal

Hi, my name is Neha singhal a software engineer and coder by profession. I like to solve coding problems that give me the power to write posts for this site.