mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-04 08:02:30 +08:00
clean up redundant code
This commit is contained in:
@ -5,46 +5,23 @@ import (
|
||||
)
|
||||
|
||||
func evalRPN(tokens []string) int {
|
||||
if len(tokens) == 1 {
|
||||
i, _ := strconv.Atoi(tokens[0])
|
||||
return i
|
||||
}
|
||||
stack, top := []int{}, 0
|
||||
for _, v := range tokens {
|
||||
switch v {
|
||||
case "+":
|
||||
{
|
||||
sum := stack[top-2] + stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, sum)
|
||||
top--
|
||||
}
|
||||
case "-":
|
||||
{
|
||||
sub := stack[top-2] - stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, sub)
|
||||
top--
|
||||
}
|
||||
case "*":
|
||||
{
|
||||
mul := stack[top-2] * stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, mul)
|
||||
top--
|
||||
}
|
||||
case "/":
|
||||
{
|
||||
div := stack[top-2] / stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, div)
|
||||
top--
|
||||
}
|
||||
default:
|
||||
{
|
||||
i, _ := strconv.Atoi(v)
|
||||
stack = append(stack, i)
|
||||
top++
|
||||
stack := make([]int, 0, len(tokens))
|
||||
for _, token := range tokens {
|
||||
v, err := strconv.Atoi(token)
|
||||
if err == nil {
|
||||
stack = append(stack, v)
|
||||
} else {
|
||||
num1, num2 := stack[len(stack)-2], stack[len(stack)-1]
|
||||
stack = stack[:len(stack)-2]
|
||||
switch token {
|
||||
case "+":
|
||||
stack = append(stack, num1+num2)
|
||||
case "-":
|
||||
stack = append(stack, num1-num2)
|
||||
case "*":
|
||||
stack = append(stack, num1*num2)
|
||||
case "/":
|
||||
stack = append(stack, num1/num2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,46 +66,23 @@ import (
|
||||
)
|
||||
|
||||
func evalRPN(tokens []string) int {
|
||||
if len(tokens) == 1 {
|
||||
i, _ := strconv.Atoi(tokens[0])
|
||||
return i
|
||||
}
|
||||
stack, top := []int{}, 0
|
||||
for _, v := range tokens {
|
||||
switch v {
|
||||
case "+":
|
||||
{
|
||||
sum := stack[top-2] + stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, sum)
|
||||
top--
|
||||
}
|
||||
case "-":
|
||||
{
|
||||
sub := stack[top-2] - stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, sub)
|
||||
top--
|
||||
}
|
||||
case "*":
|
||||
{
|
||||
mul := stack[top-2] * stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, mul)
|
||||
top--
|
||||
}
|
||||
case "/":
|
||||
{
|
||||
div := stack[top-2] / stack[top-1]
|
||||
stack = stack[:top-2]
|
||||
stack = append(stack, div)
|
||||
top--
|
||||
}
|
||||
default:
|
||||
{
|
||||
i, _ := strconv.Atoi(v)
|
||||
stack = append(stack, i)
|
||||
top++
|
||||
stack := make([]int, 0, len(tokens))
|
||||
for _, token := range tokens {
|
||||
v, err := strconv.Atoi(token)
|
||||
if err == nil {
|
||||
stack = append(stack, v)
|
||||
} else {
|
||||
num1, num2 := stack[len(stack)-2], stack[len(stack)-1]
|
||||
stack = stack[:len(stack)-2]
|
||||
switch token {
|
||||
case "+":
|
||||
stack = append(stack, num1+num2)
|
||||
case "-":
|
||||
stack = append(stack, num1-num2)
|
||||
case "*":
|
||||
stack = append(stack, num1*num2)
|
||||
case "/":
|
||||
stack = append(stack, num1/num2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user