
数组名直接等于代表引用相等,会指向同一个对象
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int p=0;
int q=0;
int c=0;
int [] nums3=new int[nums1.length];
for(int i=0;i<nums1.length;i++){
nums3[i]=nums1[i];//直接等于代表引用相等,会指向同一个对象
}
while(p<m&&q<n){
if(nums3[p]<=nums2[q]){
nums1[c]=nums3[p];
p++;
}else{
nums1[c]=nums2[q];
q++;
}
c++;
}
while(p<m){
nums1[c]=nums3[p];
p++;
c++;
}
while(q<n){
nums1[c]=nums2[q];
q++;
c++;
}
}
}
网友评论