c# Leetcode 225. 用队列实现栈(栈-队列*设计)

 原题链接:https://leetcode-cn.com/problems/implement-stack-using-queues/

本题为基础知识,根本不难,只是对这个这类内存形式的存储方式有点陌生,但是刷多了以后会发现这个东西真的有用,能解决很多问题,尤其是关于存储方面的问题。

public class MyStack {

     Queue<int> q = null;
		/** Initialize your data structure here. */
		public MyStack()
		{
			q = new Queue<int>();
		}

		/** Push element x onto stack. */
		public void Push(int x)
		{
			var queue = new Queue<int>();
			queue.Enqueue(x);//add in end
			foreach (var elemet in q)
			{
				queue.Enqueue(elemet);
			}
			q = queue;
		}

		/** Removes the element on top of the stack and returns that element. */
		public int Pop()
		{
			return q.Dequeue();
		}

		/** Get the top element. */
		public int Top()
		{
			return q.First();
		}

		/** Returns whether the stack is empty. */
		public bool Empty()
		{
			return !q.Any();
		}
}

/**
 * Your MyStack object will be instantiated and called as such:
 * MyStack obj = new MyStack();
 * obj.Push(x);
 * int param_2 = obj.Pop();
 * int param_3 = obj.Top();
 * bool param_4 = obj.Empty();
 */

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值