文字列の最初の重複文字なし


最適なアルゴリズムを求める
1.効率的な関数を作成し、文字列の最初の重複しない文字を探し出す.例えば、「total」のo,「teeter」のr.は、アルゴリズムの効率がO(n 2)よりも優れていることを要求する.関数呼び出しモデルは次のとおりです.
Public static Character FirestNoRepeated(String str);
public class firstNoRepit {
	
	public static void main(String[] args) {
		
		String str="dsfdghgshgfjej";
		
		System.out.println(firstNo( str));
    }
	
	public static Character firstNo(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), 2);  
				
			}else{
				
				 map.put(str.charAt(i), 1);
			}
			
			
		}
		for(int i=0; i<str.length();i++){
			
			if(map.get(str.charAt(i))==1 ){
				
				return str.charAt(i);
			}
		}
		
		return null;
	}

}