1. 程式人生 > >編寫一個方法,計算一個字串中,第一個不重複的字元在當前字串中的索引。即是這個字串唯一一個存在的字元第一個出現的位置

編寫一個方法,計算一個字串中,第一個不重複的字元在當前字串中的索引。即是這個字串唯一一個存在的字元第一個出現的位置

1.編寫一個方法,計算一個字串中,第一個不重複的字元在當前字串中的索引。即是這個字串唯一一個存在的字元第一個出現的位置
比如saaaaafss 輸出f saaaaaf 輸出 s

public class S1 {

public static void main(String args[]){
	String aString="saaaaafss";
	int a=getIndex(aString);
	System.out.println(a);
}

public static int getIndex(String string){
	//先轉成字元陣列
	char c[]=string.toCharArray();
	//記錄重複記錄 的
	List<Character> cList=new ArrayList<Character>();
	
	for(int i=0;i<c.length;i++){
		
		if(!cList.contains(c[i])){
			//如果clist中不包含這個
			for(int j=i+1;j<c.length;j++){									
				if(c[i]==c[j]){
					//如果找到重複的 將重複的放進List中並斷開
					cList.add(c[i]);
					break;
				}
				if(j==c.length-1){
					//當j已經走到最後一個數組的元素了即是陣列已經
					return i;
				}
			}
			
		}
	}
	return -1;
}

}

如果有更好的解法歡迎討論