編寫一個方法,計算一個字串中,第一個不重複的字元在當前字串中的索引。即是這個字串唯一一個存在的字元第一個出現的位置
阿新 • • 發佈:2018-11-08
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; }
}
如果有更好的解法歡迎討論