mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-04 16:12:47 +08:00
34 lines
584 B
Go
34 lines
584 B
Go
package structures
|
|
|
|
// Stack 是用于存放 int 的 栈
|
|
type Stack struct {
|
|
nums []int
|
|
}
|
|
|
|
// NewStack 返回 *kit.Stack
|
|
func NewStack() *Stack {
|
|
return &Stack{nums: []int{}}
|
|
}
|
|
|
|
// Push 把 n 放入 栈
|
|
func (s *Stack) Push(n int) {
|
|
s.nums = append(s.nums, n)
|
|
}
|
|
|
|
// Pop 从 s 中取出最后放入 栈 的值
|
|
func (s *Stack) Pop() int {
|
|
res := s.nums[len(s.nums)-1]
|
|
s.nums = s.nums[:len(s.nums)-1]
|
|
return res
|
|
}
|
|
|
|
// Len 返回 s 的长度
|
|
func (s *Stack) Len() int {
|
|
return len(s.nums)
|
|
}
|
|
|
|
// IsEmpty 反馈 s 是否为空
|
|
func (s *Stack) IsEmpty() bool {
|
|
return s.Len() == 0
|
|
}
|