leetcode求并集

经典题目:
class Solution {
public:
	vector intersect(vector& nums1, vector& nums2) {
        vector ans;
        //思路就是  将两个数组排序 然后每个数组放一个指针  如果两者元素相同 那么放到ans数组中,如果不相同 看情况决定哪个数组的下标移动
		sort(nums1.begin(), nums1.end());
		sort(nums2.begin(), nums2.end());
		int i1 = 0;
		int i2 = 0;
		while (i1 != nums1.size() && i2 != nums2.size()){
			if (nums1[i1] < nums2[i2]){
				i1++;
			}
			else if (nums1[i1] > nums2[i2]){
				i2++;
			}
			else {
				ans.push_back(nums1[i1]);
				i1++;
				i2++;
				
			}
		}
		return ans;
	}
};

你可能感兴趣的:(leetcode求并集)