private int[] mergeSort(int[] first, int[] second) {
int[] result = new int[first.length + second.length];
int i = 0, j = 0, r = 0;
while (i < first.length && j < second.length) {
if (first[i] <= second[j]) {
result[r++] = first[i++];
} else {
result[r++] = second[j++];
}
}
// first 和 second 可能有一个没遍历完,
while (i < first.length) {
result[r++] = first[i++];
}
while (j < second.length) {
result[r++] = second[j++];
}
return result;
}