博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 实现双端队列 Deque
阅读量:6081 次
发布时间:2019-06-20

本文共 1464 字,大约阅读时间需要 4 分钟。

操作

  • Deque() 创建一个空的双端队列
  • add_front(item) 从队头加入一个item元素
  • add_rear(item) 从队尾加入一个item元素
  • remove_front() 从队头删除一个item元素
  • remove_rear() 从队尾删除一个item元素
  • is_empty() 判断双端队列是否为空
  • size() 返回队列的大小
class Deque(object):    """双端队列"""    def __init__(self):        self.items = []    def is_empty(self):        """判断队列是否为空"""        return self.items == []    def add_front(self, item):        """在队头添加元素"""        self.items.insert(0,item)    def add_rear(self, item):        """在队尾添加元素"""        self.items.append(item)    def remove_front(self):        """从队头删除元素"""        return self.items.pop(0)    def remove_rear(self):        """从队尾删除元素"""        return self.items.pop()    def size(self):        """返回队列大小"""        return len(self.items)if __name__ == "__main__":    deque = Deque()    deque.add_front(1)    deque.add_front(2)    deque.add_rear(3)    deque.add_rear(4)    print deque.size()    print deque.remove_front()    print deque.remove_front()    print deque.remove_rear()    print deque.remove_rear()

 回文检查问题

from pythonds.basic.deque import Dequedef palchecker(aString):    chardeque = Deque()    for ch in aString:        chardeque.addRear(ch)    stillEqual = True    while chardeque.size() > 1 and stillEqual:        first = chardeque.removeFront()        last = chardeque.removeRear()        if first != last:            stillEqual = False    return stillEqualprint(palchecker("lsdkjfskf"))print(palchecker("radar"))

 

转载于:https://www.cnblogs.com/Erick-L/p/7209329.html

你可能感兴趣的文章
【小程序】微信小程序开发实践
查看>>
OpenStack 实现技术分解 (7) 通用库 — oslo_config
查看>>
2013年四起数据泄露事故的经验教训
查看>>
企业需要特别关注的11个BYOD风险
查看>>
JAVA通信编程(一)——串口通讯
查看>>
天翼杯大数据算法应用大赛
查看>>
我的2008
查看>>
2015年05月18日面试总结
查看>>
病毒纷纭 云安全曲线救网
查看>>
从与星瑞格软件的合作看浪潮深化主机生态布局
查看>>
中国人工智能学会通讯——当巧妇遇到“大米”——机器翻译启示录
查看>>
享未来就现在 聚VR一体机春天已经到来
查看>>
针对Android的Pegasus恶意软件版本和针对iOS的有什么不同?
查看>>
政府拥抱大数据 治理迎来新格局
查看>>
零件检测如何保证出色的质量 光切传感器成为理想替代方案
查看>>
“大声bb”–攻击Linux和FreeBSD的恶意软件
查看>>
绿盟科技发布2014互联网金融安全报告
查看>>
《计算机视觉:模型、学习和推理》一2.7 期望
查看>>
立志让国内用户不再依赖国外DLP技术 天空卫士发布UCS新品
查看>>
浪潮M5设计解读:打破通用均衡,聚焦场景极致
查看>>