Description

Given a string s representing a valid expression, implement a basic calculator to evaluate it. The expression may contain '(', ')', '+', '-', and non-negative integers.

Examples

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

1 + 1 = 2.

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

Works with negative numbers.

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

Works with negative numbers.

Constraints

  • 1 ≤ s.length ≤ 3 × 10⁵
  • s consists of digits, '+', '-', '(', ')', and ' '.

Ready to solve this problem?

Practice solo or challenge other developers in a real-time coding battle!