給定一個字符串遂唧,找到它的第一個不重復(fù)的字符市框,并返回它的索引濒持。如果不存在,則返回 -1焦蘑。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事項:您可以假定該字符串只包含小寫字母盯拱。
思路(O(n)):利用map統(tǒng)計元素出現(xiàn)個數(shù)盒发。新建一個map例嘱,遍歷字符串,將元素內(nèi)容作為key宁舰,出現(xiàn)次數(shù)作為val放進(jìn)map中拼卵,在此遍歷map中的內(nèi)容,找出第一個val值為1的元素蛮艰,將其下標(biāo)返回腋腮。(用空間換時間)
我的思路:粗暴統(tǒng)計(O(n2)):使用雙重循環(huán)。第一層循環(huán)定位當(dāng)前元素下標(biāo)壤蚜,第二次循環(huán)查找字符串中是否存在相同元素即寡,存在相同,則定位下一個元素下標(biāo)袜刷,否則返回該元素下標(biāo)聪富。