mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-06 09:23:19 +08:00
规范格式
This commit is contained in:
@ -0,0 +1,47 @@
|
||||
package leetcode
|
||||
|
||||
type MyStack struct {
|
||||
enque []int
|
||||
deque []int
|
||||
}
|
||||
|
||||
/** Initialize your data structure here. */
|
||||
func Constructor225() MyStack {
|
||||
return MyStack{[]int{}, []int{}}
|
||||
}
|
||||
|
||||
/** Push element x onto stack. */
|
||||
func (this *MyStack) Push(x int) {
|
||||
this.enque = append(this.enque, x)
|
||||
}
|
||||
|
||||
/** Removes the element on top of the stack and returns that element. */
|
||||
func (this *MyStack) Pop() int {
|
||||
length := len(this.enque)
|
||||
for i := 0; i < length-1; i++ {
|
||||
this.deque = append(this.deque, this.enque[0])
|
||||
this.enque = this.enque[1:]
|
||||
}
|
||||
topEle := this.enque[0]
|
||||
this.enque = this.deque
|
||||
this.deque = nil
|
||||
|
||||
return topEle
|
||||
}
|
||||
|
||||
/** Get the top element. */
|
||||
func (this *MyStack) Top() int {
|
||||
topEle := this.Pop()
|
||||
this.enque = append(this.enque, topEle)
|
||||
|
||||
return topEle
|
||||
}
|
||||
|
||||
/** Returns whether the stack is empty. */
|
||||
func (this *MyStack) Empty() bool {
|
||||
if len(this.enque) == 0 {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package leetcode
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func Test_Problem225(t *testing.T) {
|
||||
obj := Constructor225()
|
||||
fmt.Printf("obj = %v\n", obj)
|
||||
param5 := obj.Empty()
|
||||
fmt.Printf("param_5 = %v\n", param5)
|
||||
obj.Push(2)
|
||||
fmt.Printf("obj = %v\n", obj)
|
||||
obj.Push(10)
|
||||
fmt.Printf("obj = %v\n", obj)
|
||||
param2 := obj.Pop()
|
||||
fmt.Printf("param_2 = %v\n", param2)
|
||||
param3 := obj.Top()
|
||||
fmt.Printf("param_3 = %v\n", param3)
|
||||
param4 := obj.Empty()
|
||||
fmt.Printf("param_4 = %v\n", param4)
|
||||
}
|
38
leetcode/0225.Implement-Stack-using-Queues/README.md
Normal file
38
leetcode/0225.Implement-Stack-using-Queues/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
# [225. Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)
|
||||
|
||||
## 题目
|
||||
|
||||
Implement the following operations of a stack using queues.
|
||||
|
||||
- push(x) -- Push element x onto stack.
|
||||
- pop() -- Removes the element on top of the stack.
|
||||
- top() -- Get the top element.
|
||||
- empty() -- Return whether the stack is empty.
|
||||
|
||||
Example :
|
||||
|
||||
```c
|
||||
MyStack stack = new MyStack();
|
||||
|
||||
stack.push(1);
|
||||
stack.push(2);
|
||||
stack.top(); // returns 2
|
||||
stack.pop(); // returns 2
|
||||
stack.empty(); // returns false
|
||||
```
|
||||
|
||||
Note:
|
||||
|
||||
- You must use only standard operations of a queue -- which means only push to back, peek/pop from front, size, and is empty operations are valid.
|
||||
- Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.
|
||||
- You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).
|
||||
|
||||
|
||||
## 题目大意
|
||||
|
||||
题目要求用队列实现一个栈的基本操作:push(x)、pop()、top()、empty()。
|
||||
|
||||
|
||||
## 解题思路
|
||||
|
||||
按照题目要求实现即可。
|
Reference in New Issue
Block a user