224. Basic Calculator

Hard

5.3K

395

Given a string `s`

representing a valid expression, implement a basic calculator to evaluate it, and return *the result of the evaluation*.

**Note:** You are **not** allowed to use any built-in function which evaluates strings as mathematical expressions, such as `eval()`

.

**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 <= 3 * 10`

^{5}`s`

consists of digits,`'+'`

,`'-'`

,`'('`

,`')'`

, and`' '`

.`s`

represents a valid expression.`'+'`

is**not**used as a unary operation (i.e.,`"+1"`

and`"+(2 + 3)"`

is invalid).`'-'`

could be used as a unary operation (i.e.,`"-1"`

and`"-(2 + 3)"`

is valid).- There will be no two consecutive operators in the input.
- Every number and running calculation will fit in a signed 32-bit integer.

Accepted

375.4K

Submissions

884.9K

Acceptance Rate

42.4%

Seen this question in a real interview before?

1/4

Yes

No

Discussion (0)

Related Topics

Copyright ©️ 2023 LeetCode All rights reserved