題目描述
在乙個字串(0<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫).
建立乙個字典後再便利一遍字串,找第乙個:
# -*- coding:utf-8 -*-
class
solution
:def
firstnotrepeatingchar
(self, s)
:# write code here
s_dict =
for char in s:
s_dict[char]
= s_dict[char]+1
if char in s_dict else
1for i, char in
enumerate
(s):
if s_dict[char]==1
:return i
return
-1
count一下也可以:# -*- coding:utf-8 -*-
class
solution
:def
firstnotrepeatingchar
(self, s)
:# write code here
for i, char in
enumerate
(s):
if s.count(char)==1
:return i
return
-1
劍指Offer 34 第乙個只出現一次的字元
在字串中找出第乙個只出現一次的字元。如輸入 abaccdeff 則輸出 b 從頭開始掃瞄這個字串中的每個字元,當訪問到某字元時拿這個字元和後面的每個字元相比較,如果在後面沒有發現重複的字元,則該字元技術只出現一次的字元。時間複雜度是o n 2 用乙個容器來存放每個字元的出現次數,根據字元來查詢它出現...
劍指offer(34) 第乙個只出現一次的字元
一.找出第乙個出現一次字元的位置 enumerate 將可遍歷的資料物件 列表 陣列 字串 組合為索引序列,同時返回資料和下標 def firstnotrepeatingchar self,s write code here if s return 1 for index,val in enumer...
第乙個只出現一次的字元(劍指offer 34)
在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 從0開始計數 最直觀的解法是使用 hashmap 對出現次數進行統計,但是考慮到要統計的字元範圍有限,因此可以使用整型陣列代 替 hashmap,從而將空間複雜度由...