Leetcode-Basic Calculator Series

Yunrui Li
Sep 10, 2021

Given 一個string expression, 我們要去計算result of expression.

有三個題型:

最基本的計算機題型

1.是string裡面只有+-(), 沒有乘除. (See LC 224)

2.再來是有+-*/但沒有() (See LC 227)

3.最難版本是+-*/和()都有(See LC 772)

Note:

  1. 上面這些題型都可以假設沒有leading negative integers. For example, “-3+2” or “(-3+2)”
  2. 只要是有括號的題目, 我們都會再遇到右括號(close parentheses)的時候, 需要先計算括號內的res_in_paren再把這個res_in_paren和左括號(open parentheses)左邊的res做合併.
  3. 這是經典的string parsing 算法題, 我們都是用stack來破題, 時間複雜度是O(n), 因為我們算法只需要掃過一遍字串,空間複雜度是O(n) 因為我們用了stack.

Related Problems in LC:

224. Basic Calculator

227. Basic Calculator II

772. Basic Calculator III

--

--

Yunrui Li

I’m Taiwanese expat. I’v worked in Singapore as data scientist after graduation from Taiwan and currently I work in Amsterdam as machine learning engineer.