微軟,Google面試題 (13) —— 第一個只出現一次的字符

題目:在一個字符串中找到第一個只出現一次的字符。如輸入abaccdeff,則輸出b
解法一:常規解法。遍歷字符串,訪問到每一個字符時,檢查後面有沒有相同的字符。沒有則輸出。這種做法的時間複雜度是O(n^2)。
解法二:利用hashtable。首先爲建立一個256大小(ASCII字符的最大值)的hashtable。遍歷一次字符串,將每個字符串出現的次數存放在hashtable之中。再遍歷一次hashtable,找到第一個次數爲1的。

發佈了103 篇原創文章 · 獲贊 3 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章