今天做到乙個題目:
17. letter combinations of a phone number
given a digit string, return all possible letter combinations that the number could represent.
這道題第一反應是用字典存**按鍵,第二反應是多次迴圈迭代返回需要的list
再查了一些資料後,發現了乙個迭代器的模組,找到了product函式
相關資料:
可以直接帶入array或者字串(?)然後元素兩兩組合,再這道題中,先兩兩組合再與剩下的兩兩組合
上**:
from itertools importproduct
class
solution(object):
deflettercombinations(self,digits):
alpha=
if digits==""
:
return
result=
nums=
alpha=[c for c in
nums[digits[0]]]
for i in digits[1:]:
alpha=product(alpha,nums[i])
alpha=[''.join(item) for item in
alpha]
result=alpha
return
result
C 迭代器之 反向迭代器
反向迭代器 reverse iterator 是普通迭代器的介面卡,通過重新定義自增和自減操作,以達到按反序遍歷元素的目的。如果在標準演算法庫中用反向迭代器來代替普通的迭代器,那麼執行結果與正常情況下相反。除此之外,其用法與普通迭代器完全一樣,我們不作詳細討論。這裡主要討論的是反向迭代器的乙個很特殊...
Leetcode 58 之反向迭代器的使用
題目 given a string s consists of upper lower case alphabets and empty space characters return the length of last word in the string.if the last word do...
STL之迭代器
除了為每個容器定義的迭代器之外,標準庫在標頭檔案iterator中還定義了額外幾種迭代器,包括 1 插入迭代器 insert iterator 被繫結到乙個容器上,可用來向容器插入元素。2 流迭代器 stream iterator 被繫結到輸入輸出流,可用來遍歷所關聯的io流。3 反向迭代器 rev...