从两个数组的末尾开始,使用 i、j、k 三个指针。每次挑选两个指针所指元素中较小的一个,写入合并数组当前末尾位置 k,然后 k 向左移动,最终得到完整的降序数组。
本演示假设两个输入数组均为降序排列,合并结果也为降序。
三个指针均从末尾出发。i 和 j 指向两个待合并数组的当前元素,k 指向合并数组的写入位置。由于 lst1[i] < lst2[j] 时 lst1[i] 更小,因此把它先放到当前最靠后的空位 merged_array[k];否则放 lst2[j]。较大的元素会留到下一轮写入更靠前的位置,因此从后往前填充后,最终得到降序结果。