Java 中两个字符串的交集
2022-09-03 16:55:27
需要一个 Java 函数来查找两个字符串的交集。即字符串共有的字符。
例:
String s1 = new String("Sychelless");
String s2 = new String("Sydney");
需要一个 Java 函数来查找两个字符串的交集。即字符串共有的字符。
例:
String s1 = new String("Sychelless");
String s2 = new String("Sydney");
用: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)
提取字符
String.toCharArray
把它们放在一个集合中 找到交叉点
Set.retainAll