Python实现与LeetCode--队列
Python实现
队列:
# @Time : 2019/7/2 9:24
# @Author : panky_pan
# @File : Queue.py
# @Software: PyCharm
class Queue(object):
def __init__(self):
self.items = []
def size(self):
return len(self.items)
def is_empty(self):
return self.size() == 0
def enqueue(self, item):
self.items.insert(0, item)
def dequeue(self):
return self.items.pop()
if __name__ == "__main__":
q = Queue()
print("is_empty:", q.is_empty())
q.enqueue(11)
q.enqueue(22)
q.enqueue(33)
print("size:", q.size())
print(q.dequeue())
print(q.dequeue())
print("size:", q.size())
双端队列:
class DoubleEndedQueue(object):
def __init__(self):
self.items = []
def size(self):
return len(self.items)
def is_empty(self):
return self.size() == 0
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 __str__(self):
return str(self.items)
if __name__ == "__main__":
dq = DoubleEndedQueue()
print("is_empty:", dq.is_empty())
dq.add_front(11)
dq.add_front(22)
print(dq)
dq.add_rear(33)
dq.add_rear(44)
print(dq)
dq.remove_front()
print(dq)
dq.remove_rear()
print(dq)