美文网首页
349. Intersection of Two Arrays

349. Intersection of Two Arrays

作者: namelessEcho | 来源:发表于2017-10-03 00:18 被阅读0次

    因为要求唯一,所以可以用两个set。
    For each 方法是实现了iteratable()接口的集合下面方法的等效。
    while(iterator.hasNext())
    {
    iterator.next();
    }
    HashSet遍历方法是使用迭代器,也可以使用For each 。

    class Solution {
        public int[] intersection(int[] nums1, int[] nums2) {
            HashSet<Integer> set1 = new HashSet<>();
            HashSet<Integer> set2 = new HashSet<>();
            for(int i = 0 ;i<nums1.length;i++)
            {
                set1.add(nums1[i]);
            }
            for(int i = 0 ;i<nums2.length;i++)
            {
                if(set1.contains(nums2[i])&&!set2.contains(nums2[i]))
                     set2.add(nums2[i]);
            }
            int[] array = new int [set2.size()];
            Iterator<Integer> ite = set2.iterator();
            int count =0;
            while(ite.hasNext())
            {
                array[count++]=ite.next();
            }
            return array;
        }
    }
    

    也可以使用For each

    class Solution {
      public int[] intersection(int[] nums1, int[] nums2) {
          HashSet<Integer> set1 = new HashSet<>();
          HashSet<Integer> set2 = new HashSet<>();
          for(int i = 0 ;i<nums1.length;i++)
          {
              set1.add(nums1[i]);
          }
          for(int i = 0 ;i<nums2.length;i++)
          {
              if(set1.contains(nums2[i])&&!set2.contains(nums2[i]))
                   set2.add(nums2[i]);
          }
          int[] array = new int [set2.size()];
          int count =0;
          for(Integer num :set2)
          {
              array[count++]=num;
          }
          return array;
      }
    }
    

    相关文章

      网友评论

          本文标题:349. Intersection of Two Arrays

          本文链接:https://www.haomeiwen.com/subject/zgkxyxtx.html