劍指offer(java代碼)——第一個只出現一次的字符

題目描述:在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置。如果字符串爲空,返回-1。

看到這個題,第一個反應可能是按順序遍歷字符串,對字符串中每一個字符,都去看它的後面有沒有和它一樣的字符。但是這種方法太費時間,所以要換一種思路。

如果是建立一個HashMap,把key設爲字符串中每個字符,value設爲每個字符出現的次數,那麼我們只需要對字符串進行一次遍歷,用字符串中每個字符作爲key,去找value爲1的那個字符就可以了。


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