字符串去重这是我曾经的⼀道⾯试题:
1.双向链表如何循环,如何插⼊⼀条数据?
2.⼀个字符串如何⽤最简单的⽅法查出重复的字母?
例如:String str = “agdbadbjja”
最优时间复杂度:
private static void test() {
String str =  "agdbadbjja";
Map<Object,Integer> maps = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char charAt = str.charAt(i);
if ((charAt) != null) {
Integer integer = (charAt);
maps.put(charAt, ++integer);
}else{
字段字符串去重复maps.put(charAt, 1);
}
}
Set<Object> keySet = maps.keySet();
for (Object string : keySet) {
Integer integer = (string);
System.out.println("key:  " + string + "        " + "value:  " + integer);
}
}
打印结果:
key:  a        value:  3
key:  b        value:  2
key:  d        value:  2
key:  g        value:  1
key:  j        value:  2
去重:
/**
* 去重
*/
private static void demo(){
String str =  "agdbadbjja";
StringBuffer strb = new StringBuffer();
List  lists = new ArrayList<>();
for (int i = 0; i < str.length(); i++) {
if (!ains(str.charAt(i))) {
lists.add(str.charAt(i));
strb.append(str.charAt(i));
}
}
System.out.String());
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。