Skip to content

Commit 61e8ddb

Browse files
authored
Merge pull request MisterBooo#121 from ztianming/patch-8
Update 0088-Merge-Sorted-Array.md
2 parents 06076de + 5cab225 commit 61e8ddb

File tree

1 file changed

+89
-1
lines changed

1 file changed

+89
-1
lines changed

0088-Merge-Sorted-Array/Article/0088-Merge-Sorted-Array.md

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)