LeetCode Merge Sorted Array

来源:互联网 发布:中超数据直播系统 编辑:程序博客网 时间:2024/06/06 13:03

Description;

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Solution:

还是一个类似Two Pointer的题目。这里可以从头也可以从尾开始,但是为了代码简洁,从尾遍历更加简洁。

这里有一个小技巧,从尾部往前面重新赋值,nums1的数字不会受到影响。

import java.util.*;public class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int tail = m + n - 1;int i = m - 1, j = n - 1;while (i >= 0 && j >= 0) {if (nums1[i] > nums2[j]) {nums1[tail--] = nums1[i--];} else {nums1[tail--] = nums2[j--];}}for (; i >= 0; i--)nums1[tail--] = nums1[i];for (; j >= 0; j--)nums1[tail--] = nums2[j];}}


0 0
原创粉丝点击