首页 > 编程知识 正文

用两个栈实现一个队列java,python算法题库

时间:2023-05-05 19:58:26 阅读:26834 作者:4365

问题:

1 .两个堆栈实现一个队列:

class c queue : def _ _ init _ _ (self ) : self.Q1=[ ] self.Q2=[ ] defappendtail (self, value : int (-none : return self.Q1.append ) value ) #将值放入堆栈的defdeletehead(self )- int: if self.q2: # 删除不在堆栈2中的元素return self.Q2.pop (elifnotself.q 1: )如果堆栈1没有值,则返回-1 return -1 else: #;如果堆栈2为空,则同时返回堆栈2 while self.q 1: self.Q2.append (self.Q1.pop ) )将堆栈1依次弹出的值放入堆栈2中,而return self.q2.pop将堆栈2弹出

class c queue : def _ _ init _ _ (self ) : self.Q1=[ ] self.Q2=[ ] defappendtail (self, value : int (-none : return self.Q1.append ) value ) # 将值放入堆栈的defdeletehead(self )-int3360iflen ) self.Q1 )==1: self.Q2.append (self.Q1.pop (0) ) self.self。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。