字符串去重这是我曾经的⼀道⾯试题:
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小时内删除。
发表评论