知識點:字串、雜湊表
一、題目描述
在乙個字串(0<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫).(從0開始計數)
二、思路
思路:建立乙個雜湊表,第一次掃瞄的時候,統計每個字元出現的次數。然後第二次掃瞄的時候,如果該字元出現的次數為1,則返回這個字元的位置。
c++**:
class solution
//建立雜湊表
mapitem;
//第一次遍歷,統計每個字元出現的次數
for(int i=0; ipython**:
# -*- coding:utf-8 -*-
class solution:
def firstnotrepeatingchar(self, s):
if len(s) == 0:
return -1
item = {}#python中雜湊表map用字典實現
#第一次遍歷,統計每個字元出現的次數
for i in range(len(s)):
if s[i] not in item.keys():#建立的字典是個空字典,用if賦初值
item[s[i]] = 1
else:
item[s[i]] += 1#s[i]是key,次數為value
#第二次遍歷,查詢出現次數為1的字元,並返回位置
for i in range(len(s)):
if item[s[i]] == 1:
return i
return -1
34 第乙個只出現一次的字元
在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 leetcode對應題目 387.字串中的第乙個唯一字元 題目解答 總結 雜湊表雖然是無序的,但是可以根據string中元素進行查詢,第乙個出現次數為1的就是所求。...
第乙個只出現一次的字元
題目 在乙個字串中找到第乙個只出現一次的字元。如輸入 abaccdeff,則輸 出b。分析 這道題是 2006年google的一道筆試題。看到這道題時,最直觀的想法是從頭開始掃瞄這個字串中的每個字元。當訪問 到某字元時拿這個字元和後面的每個字元相比較,如果在後面沒有發現重複的字 符,則該字元就是只出...
第乙個只出現一次的字元
題目 在乙個字串中找到第乙個只出現一次的字元,並輸出它在字串中的位置。如輸入 abaccdeff,則輸出 b 1。定義乙個256長度的陣列,乙個用來記錄字元出現的次數。然後在遍歷字元陣列,如果該字元出現了一次,輸出並結束,否則繼續。include using namespace std 在乙個字串中...