aboutsummaryrefslogtreecommitdiff
path: root/basic_calculator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'basic_calculator.cpp')
-rw-r--r--basic_calculator.cpp37
1 files changed, 0 insertions, 37 deletions
diff --git a/basic_calculator.cpp b/basic_calculator.cpp
deleted file mode 100644
index 80e0ffe..0000000
--- a/basic_calculator.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "leetcode.h"
-
-class Solution {
-public:
- int calculate(string s) {
- stack<pair<int, int>> sp;
- long long int ans = 0;
- int sign = +1;
- for (int i = 0; i < s.size(); ++i) {
- char ch = s[i];
- if (isdigit(ch)) {
- long long int num = 0;
- while (i < s.size() && isdigit(s[i])) {
- num = (num * 10) + s[i] - '0';
- i++;
- }
- i--;
- ans += (num * sign);
- sign = +1;
- } else if (ch == '(') {
- sp.push(make_pair(ans, sign));
- ans = 0;
- sign = +1;
- } else if (ch == ')') {
- ans = sp.top().first + (sp.top().second * ans);
- sp.pop();
- } else if (ch == '-')
- sign = (-1 * sign);
- }
- return ans;
- }
-};
-
-int main() {
- Solution obj;
- cout << obj.calculate("1 + 1");
-}