python--使用雙向隊列結構檢查回文
阿新 • • 發佈:2019-04-05
相同 後端 deque insert remove 出隊 sad end pytho
這個簡單,隊列可兩邊進兩邊出。
# coding = utf-8 # 雙向進出隊列 class Deque: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def size(self): return len(self.items) def add_front(self, item): self.items.append(item) def add_rear(self, item): self.items.insert(0, item) def remove_front(self): return self.items.pop() def remove_rear(self): return self.items.pop(0) # 回文檢查 def pal_check(check_str): deque = Deque() for item in check_str: deque.add_front(item) is_pal = True # 如果奇數文字,最後一個可不用對比 while deque.size() > 1 and is_pal: # 比較前端和後端進出隊列是否相同 if deque.remove_front() != deque.remove_rear(): is_pal = False return is_pal print(pal_check(‘radar‘)) print(pal_check(‘toot‘)) print(pal_check(‘tooth‘)) print(pal_check(‘4356sdfgdsad678‘))
python--使用雙向隊列結構檢查回文