**邏輯先寫第三步再寫第二步,思考時要按照表示式順序先看數字再看右括號正常考慮,時間複雜度o(n)
class
solution
intcalculate
(string s)
else
//遇到數字
nums.
push
(n);
//處理多位數等價寫法
//while (j < s.size() && isdigit(s[j])) j ++ ;
j - i).c_str()));
i = j -1;
//恢復原來i的下標位置
if(op.
size()
&&(op.
top()==
'-'|| op.
top()==
'+')
)calc
(nums, op);}
}return nums.
top();
}};
class
solution
elseif(
isdigit
(s[i]))
num = num *10+
(s[i]
-'0');
else
if(s[i]
=='+'
|| s[i]
=='-'
)else
if(s[i]
==')')}
return res + sign * num;}}
;
leetcode 224 基本計算器
題目 基本計算器 實現乙個基本的計算器來計算乙個簡單的字串表示式的值。字串表示式可以包含左括號 右括號 加號 減號 非負整數和空格 示例1 輸入 1 1 輸出 2 示例2 輸入 2 1 2 輸出 3 示例3 輸入 1 4 5 2 3 6 8 輸出 23 說明 c include include cl...
leetcode 224 基本計算器
實現乙個基本的計算器來計算乙個簡單的字串表示式的值。字串表示式可以包含左括號 右括號 加號 減號 非負整數和空格 示例 1 輸入 1 1 輸出 2 示例 2 輸入 2 1 2 輸出 3 示例 3 輸入 1 4 5 2 3 6 8 輸出 23 採用雙棧法,設立乙個資料棧和乙個操作符棧,在遍歷字串的過程...
leetcode 224 基本計算器
實現乙個基本的計算器來計算乙個簡單的字串表示式的值。字串表示式可以包含左括號 右括號 加號 減號 非負整數和空格 示例 1 輸入 1 1 輸出 2 示例 2 輸入 2 1 2 輸出 3 示例 3 輸入 1 4 5 2 3 6 8 輸出 23 這道題中帶了括號,可以用字尾表示式實現。詳情參見 鏈結1鏈...