再做一个可以用双指针法做的题,将两个数组的值都合并到第一个数组里面去,注意到其实这就是归并排序。解法如下,分别用两个指针指向两个数组非零数 的末尾, 再用另一个指针t指向数组1的最末尾,然后比较这两个数的大小并将比较大的数存到第一个t指针所指的位置,存储后将t也往前移动一位。注意我们 不能从前往后移动,因为t指针所指的位置会将未处理的数组1中的数字给覆盖掉。随着三个指针的移动,合并也相应完成了,但是注意到,由于判定条件是两个 指针都不能越界,故数组1中都指针指向数组最开始时会停下,但此时数组2中的数字并未全被加入数组1中(由于数组2中遗留的数字比数组1中在数组开头的第 一个数字还小的缘故),我们要做进一步的处理即将数组2中剩余的数字复制到数组1最开头。另外,这种操作不需要对数组1进行,是因为我们在将所有数字都 合并到数组1当中,当指向数组2中都指针指向最开始时而导致循环停止时,数组1剩下都数字自然已经符合了题目都要求。
PREVIOUSlc076.最小覆盖子串
NEXTlc141.环形链表