Leetcode之迭代器(itertools模組)

2022-05-02 09:54:07 字數 794 閱讀 6530

今天做到乙個題目:

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 import

product

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...