题解 | #合并k个已排序的链表#
合并k个已排序的链表
https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6
import java.util.*; /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode merge(ListNode a, ListNode b) { ListNode ans = new ListNode(0); ListNode tmp = ans; while (a != null && b != null) { if (a.val < b.val) { tmp.next = a; a = a.next; } else { tmp.next = b; b = b.next; } tmp = tmp.next; } if (a != null) { tmp.next = a; } else { tmp.next = b; } return ans.next; } public ListNode mergeKLists(ArrayList<ListNode> lists) { if(lists.isEmpty()){ return null; } ListNode ans = lists.get(0); for (int i = 1; i < lists.size(); i++) { ans = merge(ans, lists.get(i)); } return ans; } }
算法题收录 文章被收录于专栏
收录所有算法题目解法