Skip to content

Practice Basic Calculator

Read the task, work through the examples, and check your approach against the constraints. Use the original LeetCode task for coding and submissions.

Hard#224
LeetCode Problem

Basic Calculator

Problem Statement

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().

Source: Basic Calculator on LeetCode. Use the original task for its coding environment and submissions.

Examples

# 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.

Related LeetCode Problems

Practice more problems similar to Basic Calculator.

Review your practice with PhantomCodeAI

After trying the problem yourself, use the app to discuss your approach, complexity, and edge cases.