三数之和(Java)

class Solution {
    public List> threeSum(int[] nums) {
        if(nums==null)
            return null;
        Arrays.sort(nums);
        List> ans=new ArrayList>();
        for(int i=0;i=1&&nums[i]==nums[i-1])//去重1,i是从前往后,所以与i-1比较。
                continue;
            int j=i+1,k=nums.length-1;
            while(j0)
                    k--;
                else
                    j++;
            }
        }
        return ans;
    }
}

Java自带的Arrays.sort()用的是双轴快排,速度更优些。

你可能感兴趣的:(Leetcode)