文字列の最初の重複しない文字を見つけます


/**
 *                           .
 *   :”total”  o,”teeter”  r.        O(n2).        :
 * Public static Character FirstNoRepeated(String str);
 */
public class FirstNoRepeated {
	public static void main(String[] args) {
		
		System.out.println(FirstNoRepeated("total"));
		
		System.out.println(FirstNoRepeated1("teeter"));
		
	}
	/**
	 *   map             
	 * @param str
	 * @return
	 */
	public static Character FirstNoRepeated(String str){
		Map<Character,Integer> map = new HashMap<Character,Integer>();
		for(int i=0; i<str.length();i++){
			if(!map.containsKey(str.charAt(i))){
				map.put(str.charAt(i), 1);
			}else{
				Integer k = map.get(str.charAt(i));
				map.put(str.charAt(i), ++k);
			}
		}
		//                
		for(int i = 0 ; i < str.length(); i++){
			if(map.get(str.charAt(i)) == 1){
				return str.charAt(i);
			}
		}
		return null;
	}
	/**
	 *    :    
	 * @param str
	 * @return
	 */
	public static Character FirstNoRepeated1(String str){
		int count = 0;
		char c;
		//                                 
		for(int i=0;i<str.length();i++){
			c = str.charAt(i);
			for(int j=0;j<str.length();j++){
				char cc = str.charAt(j);
				if(c == cc){
					count ++;
				}
			}
			//            
			if(count == 1){
				return c;
			}
			count = 0;
		}
		return null;
		
	}
}