Leecode 88:合并两个有序数组

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。

说明:

初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
示例:

输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3

输出: [1,2,2,3,5,6]

思路:将nums1中的0替换为nums2中的数,再对nums1排序。

class Solution {
    public static void BubbleSort(int [] arr){
     int temp;
     for(int i=0; i<arr.length-1; i++){
         for(int j=arr.length-1; j>i; j--){

             if(arr[j] < arr[j-1]){
                 temp = arr[j];
                 arr[j] = arr[j-1];
                 arr[j-1] = temp;
             }
         }
     }
 }
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int j = 0;
        for(int i = m ; i < nums1.length ; i++){
            if(nums1[i] == 0){
                nums1[i] = nums2[j];
                j++;
            }
        }
        BubbleSort(nums1);
    }
}
发布了26 篇原创文章 · 获赞 0 · 访问量 790

猜你喜欢

转载自blog.csdn.net/u013317894/article/details/103925372