需要一个Java函数来查找两个字符串的交集。即字符串通用的字符。
例:
String s1 = new String("Sychelless"); String s2 = new String("Sydney");
使用HashSet<Character>:
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),这是渐近最优的。
O(m + n)