Skip to content

Latest commit

 

History

History

basic-calculator

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

< Previous                  Next >

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 * 105
  • 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 Topics

[Stack] [Recursion] [Math] [String]

Similar Questions

  1. Evaluate Reverse Polish Notation (Medium)
  2. Basic Calculator II (Medium)
  3. Different Ways to Add Parentheses (Medium)
  4. Expression Add Operators (Hard)
  5. Basic Calculator III (Hard)
close