08_stack kotlin version

This commit is contained in:
Zackratos 2019-06-19 01:02:39 +08:00
parent fdf388e069
commit c9097e3181

View File

@ -0,0 +1,36 @@
/**
* 基于链表实现的栈
*
* Author: Zackratos
*/
class StackBasedOnLinkedList {
private var top: Node? = null
fun push(value: Int) {
val newNode = Node(value, null)
// 不管 top 是不是 null都可以这么写
newNode.next = top
top = newNode
}
fun pop(): Int {
if (top == null) return -1
val node = top
top = top!!.next
return node!!.data
}
fun printAll() {
var p = top
while(p != null) {
print("${p.data} ")
p = p.next
}
println()
}
class Node(var data: Int, var next: Node?)
}