X Tutup
import java.util.ArrayList; /** * @Author:Aliyang * @Data: Created in 下午10:43 18-6-16 * merge-k-sorted-lists:别人解法 * 思路:使用归并排序,递归分治 **/ public class T127 { public static class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } } public ListNode mergeKLists(ArrayList lists) { return partion(lists,0,lists.size()-1); } // 将整个链表数组进行递归分治 public static ListNode partion(ArrayList lists,int s,int e){ if(s==e) return lists.get(s); if(s lists=new ArrayList<>(); ListNode head=new ListNode(1); ListNode realHead=head; head.next=new ListNode(2); head=head.next; head.next=new ListNode(6); head=head.next; lists.add(realHead); ListNode head1=new ListNode(3); ListNode realHead1=head1; head1.next=new ListNode(3); head1=head1.next; head1.next=new ListNode(5); head1=head1.next; lists.add(realHead1); ListNode res=t.mergeKLists(lists); while (res!=null){ System.out.print(res.val+","); res=res.next; } } }
X Tutup