@@ -77,6 +77,94 @@ nums2 = [2,5,6], n = 3
7777<img src =" ../Animation/Animation.gif " alt =" Animation " style =" zoom :150% ;" />
7878
7979### 参考代码
80+ C++ Code:
81+
82+ ``` c++
83+ class Solution {
84+ public:
85+ void merge(vector<int >& nums1, int m, vector<int >& nums2, int n) {
86+ int i=m-1, j=n-1, k=m+n-1;
87+ // 合并
88+ while(i>=0 && j>=0)
89+ {
90+ if(nums1[ i] > nums2[ j] )
91+ {
92+ nums1[ k--] = nums1[ i--] ;
93+ }
94+ else
95+ {
96+ nums1[ k--] = nums2[ j--] ;
97+ }
98+ }
99+ // 合并剩余的nums2
100+ while(j>=0)
101+ {
102+ nums1[ k--] = nums2[ j--] ;
103+ }
104+ }
105+ };
106+ ```
107+
108+ Java Code:
109+
110+ ```java
111+ class Solution {
112+ public void merge(int[] nums1, int m, int[] nums2, int n) {
113+ int i=m-1, j=n-1, k=m+n-1;
114+ // 合并
115+ while(i>=0 && j>=0)
116+ {
117+ if(nums1[i] > nums2[j])
118+ {
119+ nums1[k--] = nums1[i--];
120+ }
121+ else
122+ {
123+ nums1[k--] = nums2[j--];
124+ }
125+ }
126+ // 合并剩余的nums2
127+ while(j>=0)
128+ {
129+ nums1[k--] = nums2[j--];
130+ }
131+ }
132+ }
133+ ```
134+
135+ Python Code:
136+
137+ ``` python
138+ class Solution (object ):
139+ def merge (self , nums1 , m , nums2 , n ):
140+ """
141+ :type nums1: List[int]
142+ :type m: int
143+ :type nums2: List[int]
144+ :type n: int
145+ :rtype: None Do not return anything, modify nums1 in-place instead.
146+ """
147+ i,j,k = m- 1 , n- 1 , m+ n- 1
148+
149+ while i >= 0 and j >= 0 :
150+ # print(i,j,k, nums1)
151+ # print(nums1[i], nums2[j])
152+ if nums1[i] > nums2[j]:
153+ nums1[k] = nums1[i]
154+ k-= 1
155+ i-= 1
156+ else :
157+ nums1[k] = nums2[j]
158+ k-= 1
159+ j-= 1
160+ while j >= 0 :
161+ nums1[k] = nums2[j]
162+ k-= 1
163+ j-= 1
164+
165+ ```
166+
167+ JavaScript Code:
80168
81169``` javascript
82170/**
@@ -105,4 +193,4 @@ var merge = function(nums1, m, nums2, n) {
105193
106194
107195
108- ![ ] ( ../../Pictures/qrcode.jpg )
196+ ![ ] ( ../../Pictures/qrcode.jpg )
0 commit comments