與波蘭表示式類似,利用2個棧,乙個存數字,乙個存運算子。
略有不同的是,四則運算都是雙目運算子,每次計算都是彈出2個數字與1個運算子,結果再壓入數字棧中。
但是此題的運算子(或與)都是多目運算子,遇到)
要一直彈出到(
,用兩個變數記錄是否出現t或f,
對於&,只要出現false結果就是false
對於|,只要出現true結果就是true
對於!,出現false結果就是true
class solution
else
if(c==
't'|| c==
'f'|| c==
'(')
else
if(c==
')')
exps.
pop();
//彈出'('
char op = ops.
top();
ops.
pop();
if(op ==
'&')
else
if(op ==
'|')
else
if(op ==
'!')}}
return exps.
top()==
't';}}
;
解析布林表示式
題目 給你乙個以字串形式表述的布林表示式,返回該式的運算結果。有效的表示式需遵循以下約定 示例 1 輸入 expression f 輸出 true示例 2 輸入 expression f,t 輸出 true示例 3 輸入 expression t,f 輸出 false示例 4 輸入 expressi...
布林表示式
布林表示式 boolean expression 是一段 宣告,它最終只有true 真 和false 假 兩個取值。從最基本的層次來說,所有的布林表示式,不論它的長短如何,其值只能是true或false。最簡單的布林表示式是等式 equality 這種布林表示式用來測試乙個值是否與另乙個值相同。它可...
翻譯布林表示式
翻譯布林表示式time limit 1000 ms memory limit 65536 kib problem description 大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。input 多組輸入,每組輸入為一行字串,例如 a b or c d and e ...