一尘不染

Java中两个字符串的交集

algorithm

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

例:

String s1 = new String("Sychelless");
String s2 = new String("Sydney");

阅读 1018

收藏
2020-07-28

共1个答案

一尘不染

使用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),这是渐近最优的。

2020-07-28