Implement Stack using Two Queues

后端 未结 23 723
感情败类
感情败类 2020-11-28 17:05

A similar question was asked earlier there, but the question here is the reverse of it, using two queues as a stack. The question...

Given two queues with their sta

23条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-28 17:46

    Python Code Using Only One Queue

     class Queue(object):
        def __init__(self):
            self.items=[]
        def enqueue(self,item):
            self.items.insert(0,item)
        def dequeue(self):
            if(not self.isEmpty()):
                return  self.items.pop()
        def isEmpty(self):
            return  self.items==[]
        def size(self):
            return len(self.items)
    
    
    
    class stack(object):
            def __init__(self):
                self.q1= Queue()
    
    
            def push(self, item):
                self.q1.enqueue(item) 
    
    
            def pop(self):
                c=self.q1.size()
                while(c>1):
                    self.q1.enqueue(self.q1.dequeue())
                    c-=1
                return self.q1.dequeue()
    
    
    
            def size(self):
                return self.q1.size() 
    
    
            def isempty(self):
                if self.size > 0:
                   return True
                else:
                   return False
    

提交回复
热议问题