2 回答
![?](http://img1.sycdn.imooc.com/54584f850001c0bc02200220-100-100.jpg)
TA贡献1802条经验 获得超5个赞
是的,你可以在一个循环中完成,
int len = arr1.length + arr2.length;
int[] res = new int[len];
for(int i=0, j=0; i<len; i++) {
if(i<arr1.length){
res[i] = arr1[i];
}else{
res[i] = arr2[j];
j++;
}
}
当两个数组的长度不同时,这也将起作用。
![?](http://img1.sycdn.imooc.com/545850c80001ebf202200220-100-100.jpg)
TA贡献1875条经验 获得超3个赞
不同长度的数组
int[] result = new int[ar1.length + ar2.length];
for(int i = 0; i < result.length; i++) {
result[i] = i < ar1.length ? ar1[i] : ar2[i - ar1.length]; // comparison
}
等长数组
int[] result = new int[ar1.length + ar2.length];
for(int i = 0; i < ar1.length; i++) {
result[i] = ar1[i]; // no
result[ar1.length + i] = ar2[i]; // comparison
}
在此处查看(并执行)完整实现。
添加回答
举报