数据结构与算法(作业五)
合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 运算代码如下 class Solution { public void merge ( int [ ] nums1 , int m , int [ ] nums2 , int n ) { int len = m + n ; for ( int i = len - 1 ; i >= 0 ; i -- ) { if ( ( m > 0 && n > 0 && nums1 [ m - 1 ] > nums2 [ n - 1 ] ) || n == 0 ) { nums1 [ i ] = nums1 [ -- m ] ; } else { nums1 [ i ] = nums2 [ -- n ] ; } } } } 这道题从两个数组右侧开始比较, 即可按从大到小开始合并数组, 即可利用数组1右侧的空间, 不需要额外存储空间。 效率挺高! 来源: CSDN 作者: 想扣篮的Phineas 链接: https://blog.csdn.net/BryceFei/article/details/104590947