Java中两个字符串的交集

发布于 2021-01-31 15:50:33

需要一个Java函数来查找两个字符串的交集。即字符串通用的字符。

例:

String s1 = new String("Sychelless");
String s2 = new String("Sydney");
关注者
0
被浏览
93
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    使用HashSet<Character>

    HashSet<Character> h1 = new HashSet<Character>(), h2 = new HashSet<Character>();
    for(int i = 0; i < s1.length(); i++)                                            
    {
      h1.add(s1.charAt(i));
    }
    for(int i = 0; i < s2.length(); i++)
    {
      h2.add(s2.charAt(i));
    }
    h1.retainAll(h2);
    Character[] res = h1.toArray(new Character[0]);
    

    这是O(m + n),这是渐近最优的。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看