Array——LeetCode——Merge Sorted Array
Posted dbbf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Array——LeetCode——Merge Sorted Array相关的知识,希望对你有一定的参考价值。
【学到的知识点——当有两个判断时,谁在外面谁在里面】
1、两个判断
判断一:a和b是否会超出m和n
判断二:nums1[a]大,还是nums2[b]大
2、很显然判断一的优先级大于判断二
-----------------------------------------------------------------------------------------------------
【反思】
1、审题,题目说了nums1有足够的空间
-----------------------------------------------------------------------------------------------------
【别人的Java解法代码】
1 public void merge(int[] nums1, int m, int[] nums2, int n) { 2 int[] nums = new int[m+n]; 3 int a = 0; 4 int b = 0; 5 for (int i = 0; i < m + n; i++) { 6 if (a < m && b < n) { 7 if (nums1[a] > nums2[b]) { 8 nums[i] = nums2[b]; 9 b++; 10 } else { 11 nums[i] = nums1[a]; 12 a++; 13 } 14 } else if ( a < m && b == n) { 15 nums[i] = nums1[a]; 16 a++; 17 } else if ( a == m && b < n) { 18 nums[i] = nums2[b]; 19 b++; 20 } else 21 return; 22 } 23 for (int i = 0; i < m + n; i++) { 24 nums1[i] = nums[i]; 25 } 26 }
-----------------------------------------------------------------------------------------------------
【自己的Java解法代码】
以上是关于Array——LeetCode——Merge Sorted Array的主要内容,如果未能解决你的问题,请参考以下文章