在乙個字串(0<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1.
# -*- coding:utf-8 -*-
class solution:
def firstnotrepeatingchar(self, s):
# write code here
hx=[0]*256
for i in s:
hx[ord(i)]+=1
for j in s:
if hx[ord(j)]==1:
return s.index(j)
break
return -1
利用雜湊表實現
ord() 函式
以乙個字元(長度為1的字串)作為引數,返回對應的 ascii 數值,或者 unicode 數值。
class solution:
def firstnotrepeatingchar(self, s):
# write code here
if len(s)<0:
return -1
for i in s:
if s.count(i)==1:
return s.index(i)
break
return -1
劍指offer第50題 第乙個只出現一次的字元
在字串 s 中找出第乙個只出現一次的字元。如果沒有,返回乙個單空格。s 只包含小寫字母。示例 s abaccdeff 返回 b s 返回 解法一 雙層遍歷,set記錄使用遍歷字串的方式進行解題,不過再遍歷的過程中可以用set作記錄提高效率。每當遍歷到乙個新的字元時,就將其儲存到set中 如果set中...
Python劍指offer 第乙個只出現一次的字元
在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 從0開始計數 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m coding utf 8 class solution def fir...
劍指Offer50 第乙個只出現一次字元
class solution for auto c s for auto c s return 自己寫的 劣勢在於使用集合而不是對映,因此無法存對應字元出現的次數,因此當insert乙個重複字元時,它可能是所求的目標字元,也可能是後面的,例如google,insert第二個o時,當前所求的目標字元 ...