标签:void 解法 大于 oid else 自己的 etc 别人 for
【学到的知识点——当有两个判断时,谁在外面谁在里面】
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
标签:void 解法 大于 oid else 自己的 etc 别人 for
原文地址:https://www.cnblogs.com/Dbbf/p/9639389.html