1
如果第一個數組包含1,2,3,4,5,6,第二個數組包含6,7,8,則結果數組應包含1,6,2,7,3,8,4,5,6到目前爲止,我看起來真的很長很複雜,並且只有在兩個陣列長度相同的情況下才有效。如何編寫一個方法來散佈兩個不同長度的數組?
這就是我現在所擁有的
public static int[] intersperseC(int[] array1, int[] array2)
{
int[] resultArray = new int[array1.length + array2.length];
if (array1.length>array2.length)
{
for (int i=0; i<array2.length; i++)
{
if (i%2 == 0)
resultArray[i] = array1[i/2];
else
resultArray[i] = array2[i/2];
}
for (int i=array2.length; i<resultArray.length; i++)
{
resultArray[i] = array1[i - array2.length];
}
}
if (array2.length>array1.length)
{
for (int i = 0; i<array1.length; i++)
{
if (i%2 == 0)
resultArray[i] = array1[i/2];
else
resultArray[i] = array2[i/2];
}
for (int i=array1.length; i<resultArray.length; i++)
{
resultArray[i] = array2[i - array1.length];
}
}
if (array1.length == array2.length)
{
for (int i = 0; i<resultArray.length; i++)
{
if (i%2 == 0)
resultArray[i] = array1[i/2];
else
resultArray[i] = array2[i/2];
}
}
else
{
System.out.println("I should not be here.");
}
return resultArray;
}