合併k個公升序鍊錶 leetcode23

2022-06-13 07:45:12 字數 974 閱讀 4218

給你乙個鍊錶陣列,每個鍊錶都已經按公升序排列。

請你將所有鍊錶合併到乙個公升序鍊錶中,返回合併後的鍊錶。

示例1:

輸入:lists = [[1,4,5],[1,3,4],[2,6]]

輸出:[1,1,2,3,4,4,5,6]

解釋:鍊錶陣列如下:

[1->4->5,

1->3->4,

2->6

]將它們合併到乙個有序鍊錶中得到。

1->1->2->3->4->4->5->6

解析:首先合併兩個鍊錶的方法,之後用乙個變數ans來維護以及合併鍊錶,第 i 次迴圈把第 i個鍊錶和ans合併,答案儲存到ans中。

public

class

leetcode23 );

head.printnode(head);

}//用乙個變數 ans 來維護以及合併的鍊錶,第 i 次迴圈把第 i 個鍊錶和 ans 合併,答案儲存到 ans 中。

public

static

listnode mergeklists(listnode lists)

return

ans;

}//合併兩個鍊錶

public

static

listnode mergetwolists(listnode a,listnode b)

listnode head = new listnode(0);

listnode tail = head,aptr = a,bptr =b;

while(aptr!=null&&bptr!=null

)else

tail =tail.next;

}tail.next = (aptr!=null?aptr:bptr);

return

head.next;

}}

合併K個公升序鍊錶

給你乙個鍊錶陣列,每個鍊錶都已經按公升序排列。請你將所有鍊錶合併到乙個公升序鍊錶中,返回合併後的鍊錶。示例 1 輸入 lists 1,4,5 1,3,4 2,6 輸出 1,1,2,3,4,4,5,6 解釋 鍊錶陣列如下 1 4 5,1 3 4,2 6 將它們合併到乙個有序鍊錶中得到。1 1 2 3 ...

23 合併K個公升序鍊錶

給你乙個鍊錶陣列,每個鍊錶都已經按公升序排列。請你將所有鍊錶合併到乙個公升序鍊錶中,返回合併後的鍊錶。示例 1 輸入 lists 1,4,5 1,3,4 2,6 輸出 1,1,2,3,4,4,5,6 解釋 鍊錶陣列如下 1 4 5,1 3 4,2 6 將它們合併到乙個有序鍊錶中得到。1 1 2 3 ...

合併K個公升序鍊錶20201225

2.優化的優先佇列 3.兩兩合併 給你乙個鍊錶陣列,每個鍊錶都已經按公升序排列。請你將所有鍊錶合併到乙個公升序鍊錶中,返回合併後的鍊錶。示例 1 輸入 lists 1,4,5 1,3,4 2,6 輸出 1,1,2,3,4,4,5,6 解釋 鍊錶陣列如下 1 4 5,1 3 4,2 6 將它們合併到乙...