import java.util.*;
/**
* 题目描述 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。
* 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
* 测试样例:
* "qywyer23tdd",11
* 返回:y
*
* @author 崔洪振367
* @version 创建时间:2017年7月2日 上午9:17:55
* 解题思路:重复利用HashMap的特性。
*/
public class 首个重复字符 {
public static void main(String[] args) {
String A = "qywyer23tdd";
int n = 11;
System.out.println(findFirstRepeat(A, n));
}
public static char findFirstRepeat(String A, int n) {
HashMap<Character, Integer> hashMap = new HashMap<>();
for (int i = 0; i < n; i++) {
char c = A.charAt(i);
if (hashMap.containsKey(c)) {
return c;
} else {// HashMap中不包含该字符
hashMap.put(c, 1);
}
}
//由于题目保证一定有重复字符,故此处随便返回一个即可
return '0';
}
}
去哪儿-首个重复字符-Java
最新推荐文章于 2021-11-03 14:34:11 发布