1. 程式人生 > >【leetcode】88.(Easy)Merge Sorted Array

【leetcode】88.(Easy)Merge Sorted Array

解題思路:
指標從後向前走,時間複雜度為O(m+n)


提交程式碼:

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int p1=m-1,p2=n-1,p3=m+n-1;
        while(p1>=0&&p2>=0) 
        	nums1[p3--]=nums1[p1]>nums2[p2]?nums1[p1--]:nums2[p2--];
        while(p1>=0)
        	nums1[
p3--]=nums1[p1--]; while(p2>=0) nums1[p3--]=nums2[p2--]; } }

執行結果:
在這裡插入圖片描述