塞进裤子ヾ(≧O≦)〃嗷~

0%

字符流中第一个不重复的字符

统计每个字符出现的次数,还得记录字符的顺序
比如google
method1:可以暴力解决,对g,遍历字符串。。。
method2:遍历时把遇到的重复元素从字符串中去掉,最后剩下的字符串就是出现一次的。操作有点啰嗦
method3:扫描两次,第一次记录出现的次数,第二次查看出现的次数,找到第一个出现次数为一次的

1
2
3
4
5
6
7
8
9
10
11
class Solution:
def __init__(self):
self.s = ''
def FirstAppearingOnce(self):
for i in self.s:
if self.s.count(i) == 1:
return i
return '#'

def Insert(self, char):
self.s += char
method3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution:
def __init__(self):
self.s = ''
self.num = [0]*256 #一共有255个字符
#记录每个字符出现的次数
def FirstAppearingOnce(self):
for char in self.s:
if self.num[ord(char)] == 1:
return char
return '#'

# write code here
def Insert(self, char):
self.s += char
self.num[ord(char)] += 1 #ord()返回对应的ASCII值
if help:小手一抖点个广告 or 大手一挥资助一下