merge two sorted arrays using recursively
public static char[] mergeArrays(char[] a, char[] b) {
if(a.length == 0)
return b;
if(b.length == 0)
return a;
char[] newArr = new char[a.length + b.length];
if(a[0] <= b[0]) {
newArr[0] = a[0];
char[] merged = mergeArrays(Arrays.copyOfRange(a, 1, a.length), b);
System.arraycopy(merged, 0, newArr, 1, merged.length);
} else {
newArr[0] = b[0];
char[] merged = mergeArrays(a, Arrays.copyOfRange(b, 1, b.length));
System.arraycopy(merged, 0, newArr, 1, merged.length);
}
return newArr;
}