題目:請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,
第乙個只出現一次的字元是"g"。當從該字元流中讀出前六個字元「google"時,第乙個只出現一次的字元是"l"。
思路:引入兩個輔助儲存空間。乙個dict儲存當前出現的字元以及字元出現的次數,乙個list儲存當前出現字元。
然後每次比較list的第乙個字元在dict中對應的次數,如果為1則輸出這個字元,如果不為1則彈出這個字元比較下乙個字元。
#-*- coding:utf-8 -*-
class
solution:
#返回對應char
def__init__
(self):
#儲存當前字元
self.alist =
#儲存當前字元及其出現次數,出現大於1次,就設成2次
self.adict ={}
def
#write code here
while len(self.alist) > 0 and self.adict[self.alist[0]] == 2:
self.alist.pop(0)
if len(self.alist) ==0:
return'#
'else
:
return
self.alist[0]
definsert(self, char):
#write code here
if char not
inself.adict.keys():
else
: self.adict[char] = 2
classfirstone:
def__init__
(self, s):
self.di ={}
self.li =
self.s =s
defins(self):
for i in
self.s:
ifnot self.di.get(i, ""
):
else
: self.di[i] = 2
return
self.di, self.li
deffindfirstone(self):
for i in
self.li:
if self.di[i] == 1:
return
i
return
0findone =firstone(s)
(findone.ins())
print(findone.findfirstone())
找出字串中第乙個不重複的字元
leetcode原題位址 將字串轉換成字元陣列 使用兩層迴圈遍歷,最終根據第二層迴圈退出時的下標值來判斷是否是不重複的字元 我的 public intfirstuniqchar string s if temp i temp j if j length if i length return resu...
找出字元流中第乙個只出現一次的字元
請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l 如果當前字元流沒有存在出現一次的字元,返回 字元 class solution insert...
字元流中第乙個不重複的字元
請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l include include using namespace std 找出輸入流中的第乙個...