复制数组中的每个第二个元素

时间:2017-05-07 12:08:40

标签: arrays duplicates listobject

我的代码不适用于所有junit测试。 input是一个数组,输出是 一个数组,其中每个第二个元素都是重复的。例如[1; 2; 3; 4; 5] - > [1; 2; 2; 3; 4; 4; 5] 感谢。

这是我的代码:

public Listobject<T>[] duplicateEverySecondElement(Listobject<T>[] array){
if(array != null && array.length > 0){
    int n = array.length - 1;
    if((array.length % 2) == 0){
       for(int i = (array.length + array.length / 2) - 1; i > 0; i -= 3){
           array[i] = array[n];
           array[i - 1] = array[n];
           array[i - 2] = array[n - 1];
           n -= 2;
       }
       return array;
    }
    else 
    for(int i = (array.length + array.length / 2) - 1; i > 0; i -= 3){
        array[i] = array[n];
        array[i - 1] = array[n - 1];
        array[i - 2] = array[n - 1];
        n -= 2;
    }
    return array;
}
else return array;

}

0 个答案:

没有答案