劍指offer第50 第乙個只出現一次的字元

2021-08-21 11:50:08 字數 684 閱讀 8541

在乙個字串(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時,當前所求的目標字元 ...