step 1:从链表数组的首和尾开始,每次划分从中间开始划分,划分成两半,得到左边n/2个链表和右边n/2个链表。 step 2:继续不断递归划分,直到每部分链表数为1. step 3:将划分好的相邻两部分链表,按照两个有序链表合并的方式合并,合并好的两部分继续往上合并,直到最终合并成一个链表。 分治法和双指针 return null; } if (left == right) { return lists.get(left); } int mid = (left + right) / 2; return Merge(divideMerge(lists, left, mid), divide...