方法一:
public class DiYiChongFu {
public static void main(String[] args) {
String s="abacghfgbba";
System.out.println(getChar(s));
}
public static char getChar(String s){
int[] Ans = new int[128];
for (int i = 0; i < s.length(); i++) {
if (Ans[s.charAt(i)] == 0) {
Ans[s.charAt(i)] = 1;
}else {
return s.charAt(i);
}
}
return '无';
}
}
方法二:
import java.util.HashMap;
public class DiYiChongFu {
public static void main(String[] args) {
String s="abcghfgbba";
System.out.println(getFirstRepeat(s));
}
public static char getFirstRepeat(String s){
char c=0;
HashMap<Character, Integer> map=new HashMap<>();
for(int i=0;i<s.length();i++){
c=s.charAt(i);
if(map.containsKey(c)){
return c;
}else {
map.put(s.charAt(i), 1);
}
}
return c;
}
}

本文介绍了两种不同的方法来找出字符串中的第一个重复字符。方法一使用整型数组记录每个字符出现的状态;方法二则利用HashMap数据结构实现字符的快速查找。这两种方法各有优劣,可根据实际需求选择使用。
1032

被折叠的 条评论
为什么被折叠?



