这道题是剑指offer中的35题,也是一道经典的面试题。
str = "ssssaaaccddsadasf"
使用两层for循环遍历,直到遇到只出现一次的字符返回该字符
def methond1(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]
使用一层for循环,统计某字符出现的所有次数,并按其出现的先后顺序记录在列表中
def methond2(str):
counts = {}
order = []
for s in str:
if s in counts:
counts[s] +=1
else:
counts[s] = 1
order.append(s)
for i in order:
if counts[i] == 1:
return i
同一种方法的另外一种写法
def FirstNotRepeatingChar(self, s):
dict = {}
for ele in s:
dict[ele] = 1 if ele not in dict else dict[ele] + 1
for i in