题目:
23. Merge k Sorted Lists(hard)
解题思路:
这个是合并两个有序链表的延申版本。
两两合并这k个排序链表就可以
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| java: public ListNode mergeKLists(ListNode[] lists) { if(lists == null || lists.length == 0 ) return null; ListNode head = lists[0]; for(int i = 1;i<lists.length;i++){ ListNode node = lists[i]; head = merge(head,node); } return head; }
private ListNode merge(ListNode l1,ListNode l2){ if(l1 == null) return l2; if(l2 == null) return l1; if(l1.val <= l2.val){ l1.next = merge(l1.next,l2); return l1; }else{ l2.next = merge(l1,l2.next); return l2; } }
|
v1.5.2