1 回答
TA贡献1788条经验 获得超4个赞
func input() {
var stack Stack
fmt.Print("Please input the equation without spaces: \n")
input := "ABC/-AK/L-*"
for _, character := range input {
valueCheck := isOperator(string(character))
if valueCheck {
operand1 := stack[len(stack)-1]
stack.pop()
operand2 := stack[len(stack)-1]
stack.pop()
temp := string(character) + string(operand2) + string(operand1)
stack.push(temp)
} else {
stack.push(string(character))
}
}
这将为您提供您所期望的。
一些旁注:
if valueCheck == true太多了,因为valueCheck是布尔类型
var temp string
temp = string(character) + string(operand2) + string(operand1)
也有点冗长
temp := string(character) + string(operand2) + string(operand1)
足够的。
并且最好熟悉一下dlv debugger,这样下次你迷茫的时候会节省一些时间和精力。
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报