@@ -77,6 +77,94 @@ nums2 = [2,5,6], n = 3
77
77
<img src =" ../Animation/Animation.gif " alt =" Animation " style =" zoom :150% ;" />
78
78
79
79
### 参考代码
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:
80
168
81
169
``` javascript
82
170
/**
@@ -105,4 +193,4 @@ var merge = function(nums1, m, nums2, n) {
105
193
106
194
107
195
108
- ![ ] ( ../../Pictures/qrcode.jpg )
196
+ ![ ] ( ../../Pictures/qrcode.jpg )
0 commit comments