1106. 解析布尔表达式
# 1106. 解析布尔表达式
给你一个以字符串形式表述的 布尔表达式(boolean) expression,返回该式的运算结果。
有效的表达式需遵循以下约定:
- “t”,运算结果为 True
- “f”,运算结果为 False
- “!(expr)”,运算过程为对内部表达式 expr 进行逻辑 非的运算(NOT)
- “&(expr1,expr2,…)”,运算过程为对 2 个或以上内部表达式 expr1, expr2, … 进行逻辑 与的运算(AND)
- “|(expr1,expr2,…)”,运算过程为对 2 个或以上内部表达式 expr1, expr2, … 进行逻辑 或的运算(OR)
示例 1:
输入:expression = "!(f)" |
示例 2:
输入:expression = "|(f,t)" |
示例 3:
输入:expression = "&(t,f)" |
示例 4:
输入:expression = "|(&(t,f,t),!(t))" |
提示:
- 1 <= expression.length <= 20000
- expression [i] 由 {’(’, ‘)’, ‘&’, ‘|’, ‘!’, ‘t’, ‘f’, ‘,’} 中的字符组成。
- expression 是以上述形式给出的有效表达式,表示一个布尔值。
# 题解
class Solution { |
复杂度分析
- 时间复杂度:$O (n)$
- 空间复杂度:$O (n)$
Invitation
x-17
202111170521
created:2021/11/17
Welcome to X
月缺不改光,剑折不改钢
共矜然诺心,各负纵横志
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 潇十七!
评论