88-Merge-Sorted-Array
0x0 题目详情
0x1 解题思路
0x2 代码实现
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
if(nums1==null || nums2==null){
return;
}
//拷贝nums1,因为后面我们需要直接对nums1进行操作
int[] temp=new int[nums1.length];
for(int i=0;i<m;i++){
temp[i]=nums1[i];
}
int ptr1=0;
int ptr2=0;
int index=0;
while(ptr1<m && ptr2<n){
if(temp[ptr1]<=nums2[ptr2]){
nums1[index]=temp[ptr1];
ptr1++;
index++;
}
else{
nums1[index]=nums2[ptr2];
ptr2++;
index++;
}
}
while(ptr1<m){
nums1[index]=temp[ptr1];
index++;
ptr1++;
}
while(ptr2<n){
nums1[index]=nums2[ptr2];
index++;
ptr2++;
}
}
}0x3 课后总结
Last updated