public static int[] mergeSort(int []nums,int left,int right){
if (left == right) return new int[]{nums[right]};
int l[]=mergeSort(nums,left,(right-left)/2+left);
int r[]=mergeSort(nums,(right-left)/2+left+1,right);
int i=0,j=0,k=0;
int []res = new int[l.length+r.length];
while(i < l.length && j < r.length){
res[k++] = l[i] < r[j]?l[i++]:r[j++];
}
while(i < l.length) res[k++] = l[i++];
while(j < r.length) res[k++] = r[j++];
return res;
}
废话不多说,直接上代码