天天看點

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

題目:在一個字元串中找到第一個隻出現一次的字元。如輸入abaccdeff,則輸出b。

解法一:正常解法。周遊字元串,通路到每一個字元時,檢查後面有沒有相同的字元。沒有則輸出。這種做法的時間複雜度是O(n^2)。

解法二:利用hashtable。首先為建立一個256大小(ASCII字元的最大值)的hashtable。周遊一次字元串,将每個字元串出現的次數存放在hashtable之中。再周遊一次hashtable,找到第一個次數為1的。

繼續閱讀