非商業,leetcode鏈結附上:
進入正題。
題目:
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 -1。
示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
**實現:
//方法一 使用linkedhashmappublic int firstuniqchar(string s) else
}for(map.entryentry : map.entryset())
}return -1;
}//時間複雜度o(n),空間複雜度o(n)
//方法二 兩次for迴圈遍歷
public int firstuniqchar(string s)
for(int i = 0; i < n; i++)
}return -1;
}//時間複雜度o(n),空間複雜度o(n)
分析:使用語言內建的類,如hashmap或linkedhashmap,要熟悉這些類的性質;
方法二第一次for迴圈統計字元出現的次數,第二次for迴圈從現向後判斷是否累計出現一次,第乙個找到的即為目標索引。
--end
LeetCode387 字串中的第乙個唯一字元
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。案例 s leetcode 返回 0.s loveleetcode 返回 2.注意事項 您可以假定該字串只包含小寫字母。思路 雜湊?利用陣列下標記錄字母出現次數,另外建立乙個臨時陣列記錄各個字元首次出現的位置 int ...
leetcode387 字串中的第乙個唯一字元
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。案例 s leetcode 返回 0.s loveleetcode 返回 2.注意事項 您可以假定該字串只包含小寫字母。整體思路還是先統計然後查詢。第一步 新建乙個長度為26的陣列,存放字母a z出現的次數,然後遍歷字...
leetcode 387 字串中第乙個唯一字元
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。案例 s leetcode 返回 0.s loveleetcode 返回 2.注意事項 您可以假定該字串只包含小寫字母 class solution object def firstuniqchar self,s ty...