682. 棒球比赛

Posted 心脏dance

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了682. 棒球比赛相关的知识,希望对你有一定的参考价值。

题目链接:力扣

思路:用栈来模拟操作就可以了。注意:留意下 “+” 的操作

上代码:

class Solution 
    fun calPoints(ops: Array<String>): Int 
        val mStack = Stack<Int>()
        var result = 0
        ops.forEach  str ->
            when (str) 
                "+" -> 
                    val tmp1 = mStack.pop()
                    val tmp2 = mStack.pop()
                    mStack.push(tmp2)
                    mStack.push(tmp1)
                    mStack.push(tmp1 + tmp2)
                
                "D" -> mStack.push(mStack.peek() * 2)
                "C" -> mStack.pop()
                else -> mStack.push(str.toInt())
            
        
        while (mStack.isNotEmpty()) 
            result += mStack.pop()
        
        return result
    

​​​​​​

以上是关于682. 棒球比赛的主要内容,如果未能解决你的问题,请参考以下文章

「 每日一练,快乐水题 」682. 棒球比赛

682. 棒球比赛

LeetCode 682 棒球比赛[栈 模拟] HERODING的LeetCode之路

⭐算法入门⭐《栈》简单04 —— LeetCode 682. 棒球比赛

LeetCode 172. 阶乘后的零 / 682. 棒球比赛 / 2028. 找出缺失的观测数据

一天一题棒球比赛