1、题目描述
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
测试样例:
"qywyer23tdd",11
返回:y
2、代码实现
1 package com.wcy.october; 2 3 /** 4 * 时间:2016年10月16日 5 * 题目:首个重复字符 6 * 题目描述:对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。 7 * 保证字符串中有重复字符,字符串的长度小于等于500。 8 * 测试样例: 9 * "qywyer23tdd",11 10 * 返回:y 11 */ 12 public class FirstRepeat { 13 14 /** 15 * 求第一次重复出现的字符 16 * @param A 字符串(不一定全为字母) 17 * @param n 字符串长度 18 * @return 返回第一个重复出现的字符 19 */ 20 public char findFirstRepeat(String A, int n) { 21 for (int i = 0; i < A.length(); i++) { 22 for (int j = 0; j < i; j++) { 23 if (A.charAt(i) == A.charAt(j)) { 24 return A.charAt(j); 25 } 26 } 27 } 28 return '0'; 29 } 30 31 /** 32 * 用户页面测试 33 * @param args 34 */ 35 public static void main(String[] args) { 36 FirstRepeat test = new FirstRepeat(); 37 char result = test.findFirstRepeat("qywyer23tdd", 11); 38 System.out.println(result); 39 } 40 }