Basic Calculator

Hard

Topics
MathStringStack

Given a string s representing a valid expression, implement a basic calculator to evaluate it and return the result. The expression contains non-negative integers, +, -, (, ), spaces, and unary minus.

Example 1

Input:  s = "1 + 1"
Output: 2

Example 2

Input:  s = " 2-1 + 2 "
Output: 3

Example 3

Input:  s = "(1+(4+5+2)-3)+(6+8)"
Output: 23

Constraints

  • 1 <= s.length <= 20
  • s consists of digits, '+', '-', '(', ')', and spaces.
  • s represents a valid expression.
Run ⌘' · Submit ⌘⏎