LeetCode-双指针-88. 合并两个有序数组
生活随笔
收集整理的這篇文章主要介紹了
LeetCode-双指针-88. 合并两个有序数组
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
88. 合并兩個(gè)有序數(shù)組
思路:歸并排序,一長一短,肯定會(huì)有一個(gè)先放完,放完后把另一個(gè)拷貝過去即可。
為了避免覆蓋所以從最后開始向前放最大的元素
class Solution { public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {//利用歸并排序的思想int index1 = m-1, index2 = n-1;int size_nums = nums1.size()-1;//先整體進(jìn)行排序while(index1>=0&&index2>=0){if(nums1[index1]<nums2[index2]){nums1[size_nums] = nums2[index2];index2--;size_nums--;}else {nums1[size_nums] = nums1[index1];index1--;size_nums--;}}//考慮邊界情況while(index1>=0){nums1[size_nums] = nums1[index1];index1--;size_nums--;}//當(dāng)?shù)诙€(gè)索引沒有到0,說明第二個(gè)還有數(shù)沒有完全到1里面while(index2>=0){nums1[size_nums] = nums2[index2];index2--;size_nums--;}} };總結(jié)
以上是生活随笔為你收集整理的LeetCode-双指针-88. 合并两个有序数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode-剑指 Offer 50
- 下一篇: LeetCode-动态规划-198. 打