88. Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.
問題描述:将兩個有序數組合并成一個有序數組。
思路:建立第三個數組,将其它兩個數組有序的插入第三個數組中。然後根據需求變化。
代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<code>class</code> <code>Solution {</code>
<code>public</code><code>:</code>
<code> </code><code>void</code> <code>merge(vector<</code><code>int</code><code>>& nums1, </code><code>int</code> <code>m, vector<</code><code>int</code><code>>& nums2, </code><code>int</code> <code>n) {</code>
<code> </code><code>vector<</code><code>int</code><code>> result;</code>
<code> </code>
<code> </code><code>int</code> <code>i= 0;</code>
<code> </code><code>int</code> <code>j=0;</code>
<code> </code><code>while</code><code>( (i < m) && (j < n))</code>
<code> </code><code>{</code>
<code> </code><code>if</code><code>(nums1[i] <= nums2[j])</code>
<code> </code><code>{</code>
<code> </code><code>result.push_back(nums1[i]);</code>
<code> </code><code>i++;</code>
<code> </code><code>}</code>
<code> </code><code>else</code>
<code> </code><code>result.push_back(nums2[j]);</code>
<code> </code><code>j++;</code>
<code> </code><code>}</code>
<code> </code><code>if</code><code>(i < m)</code>
<code> </code><code>for</code><code>(;i < m; i++ )</code>
<code> </code><code>if</code><code>(j < n)</code>
<code> </code><code>for</code><code>(;j < n; j++)</code>
<code> </code><code>swap(result,nums1);</code>
<code> </code><code>}</code>
<code>};</code>
<code></code>
本文轉自313119992 51CTO部落格,原文連結:http://blog.51cto.com/qiaopeng688/1834908