它給了一個字串S,然後要找到第一個沒有重複出現的字母,然後回傳它的索引。
如果這個字母不存在的話就回傳-1。
我想說可以跟上一題用一樣的方法,因為他們都一樣是在記字母次數的。所以一樣創一個陣列去記a-z字母出現的次數,只要出現一次那個字母的位置就+1,然後最後照字串的順序把次數從陣列裡拉出來,如果跑到第一個次數=1的就回傳它的索引,都沒有的話就回傳-1。
class Solution {
public int firstUniqChar(String s) {
int[] count = new int[26];
//記數
for(int i=0; i<s.length(); i++){
count[s.charAt(i) -'a']++;
}
//如果次數=1,回傳索引
for(int i=0; i<s.length(); i++){
if(count[s.charAt(i) -'a']==1){
return i;
}
}
return -1;
}
}
執行成功畫面