350. Intersection of Two Arrays

2016-11-27  本文已影响9人  hyhchaos

Java

public class Solution {
    public int[] intersect(int[] nums1, int[] nums2) {
     ArrayList tmp=new ArrayList();
     Arrays.sort(nums1);
     Arrays.sort(nums2);
     int i = 0;
     int j = 0;
     while (i < nums1.length && j < nums2.length){
            if (nums1[i] < nums2[j]) {
                i++;
            } else if (nums1[i] > nums2[j]) {
                j++;
            } else {
                tmp.add(nums1[i]);
                i++;
                j++;
            }
        }
    int size=tmp.size();
    int[] result=new int[size];
    for(int k=0;k<size;k++)
    {
        result[k]=(int)tmp.get(k);
    }
    return result;
    }
}

Javascript

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
var intersect = function(nums1, nums2) {
    var result=[];
    var k=0;
     nums1.sort(function(a,b){return a-b;});
     nums2.sort(function(a,b){return a-b;});
     var i = 0;
     var j = 0;
     while (i < nums1.length && j < nums2.length) {
            if (nums1[i] < nums2[j]) {
                i++;
            } else if (nums1[i] > nums2[j]) {
                j++;
            } else {
                result[k++]=nums1[i];
                i++;
                j++;
            }
        }
        return result;
};

优解,和Java差不多

上一篇下一篇

猜你喜欢

热点阅读