1106 解析布林表示式 C

2021-09-25 21:31:38 字數 757 閱讀 6963

與波蘭表示式類似,利用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 ...