题目:在字符串中找出第一个只出现一次的字符。如输入"abaccdeff",则输出
'b'。
#方法1:两次for循环
def firstchar(str):
for i in range(len(str)):
count=0
for j in range(len(str)):
if str[i]==str[j]:
count+=1
if count==1:
return str[i]
str='abaccdeff'
firstchar(str)
#方法2:哈希表
def firstchar(str):
len_str = len(str)
for i in range(len_str):
count = 0
for j in range(len_str):
if str[j] == str[i]:
count += 1
if count == 1:
return str[i]
str='abaccdeff'
firstchar(str)
#### 扩展:在一个字符串中找到第M个只出现N次的字符,假设M=3 N=2
def MNchar(str):
dict={}
ord=[]
for i in str:
if i in dict:
dict[i]+=1
else:
dict[i]=1
ord.append(i)
m=1
for i in ord:
if dict[i]==2:
if m==3:
return i
else:
m+=1
return -1
str='abaccdeff'
MNchar(str)