Input: "nanananaa! baaaaatmaan! batman!"
Output: "na! btm"
使用set的做法:时间复杂度O(n)
public String deleteDuplicate(String A) {
if (A == null || A.length() <= 1) {
return A;
}
char str[] = A.toCharArray();
LinkedHashSet<Character> hs = new LinkedHashSet<Character>();
for (char a : str) {
hs.add(a);
}
StringBuilder sb = new StringBuilder();
for (Character c : hs) {
sb.append(c);
}
return sb.toString();
}
不使用另外的数据结构的做法:时间复杂度O(n^2)
public String deleteDuplicate(String A) {
if (A == null || A.length() <= 1) {
return A;
}
String result = "";
for (int i = 0; i < A.length(); i++) {
if (!result.contains("" + A.charAt(i))) {
result += A.charAt(i);
}
}
return result;
}