Easy to Understand | Faster | Simple | Stack based | Python Solution
\n    def calPoints(self, ops: List[str]) -> int:\n        stack = []\n        s = 0\n        for op in ops:\n            if op == "C":\n                s -= st
```\n    def calPoints(self, ops: List[str]) -> int:\n        stack = []\n        s = 0\n        for op in ops:\n            if op == "C":\n                s -= stack.pop()\n            elif op == \'D\':\n                stack.append(2*stack[-1])\n                s += stack[-1]\n            elif op == "+":\n                stack.append(stack[-1] + stack[-2])\n                s += stack[-1]\n            else:\n                stack.append(int(op))\n                s += stack[-1]\n        return s\n```\n\n**I hope that you\'ve found the solution useful.**\n*In that case, please do upvote and encourage me to on my quest to document all leetcode problems\uD83D\uDE03*\nPS: Search for **mrmagician** tag in the discussion, if I have solved it, You will find it there\uD83D\uDE38
['Stack', 'Python', 'Python3']