Kotlin Leetcode - 225. Implement Stack using Queues
class MyStack() {
fun push(x: Int) {
}
fun pop(): Int {
}
fun top(): Int {
}
fun empty(): Boolean {
}
}
解題思路
這一題考的是對 stack 和 queue 的理解
利用 ArrayDeque
我們可以很簡單的實作這段演算法
Kotlin 參考解答
class MyStack() {
private val first: Queue<Int> = ArrayDeque<Int>()
private val second: Queue<Int> = ArrayDeque<Int>()
fun push(x: Int) {
while (first.isNotEmpty()) second.add(first.poll())
first.add(x)
while (second.isNotEmpty()) first.add(second.poll())
}
fun pop(): Int {
return first.poll()
}
fun top(): Int {
return first.peek()
}
fun empty(): Boolean {
return first.isEmpty()
}
}
回到 leetcode 列表