# 1106. Parsing A Boolean Expression

<https://leetcode.com/problems/parsing-a-boolean-expression>

## Description

Return the result of evaluating a given boolean `expression`, represented as a string.

An expression can either be:

* `"t"`, evaluating to `True`;
* `"f"`, evaluating to `False`;
* `"!(expr)"`, evaluating to the logical NOT of the inner expression `expr`;
* `"&(expr1,expr2,...)"`, evaluating to the logical AND of 2 or more inner expressions `expr1, expr2, ...`;
* `"|(expr1,expr2,...)"`, evaluating to the logical OR of 2 or more inner expressions `expr1, expr2, ...`

**Example 1:**

```
**Input:** expression = "!(f)"
**Output:** true
```

**Example 2:**

```
**Input:** expression = "|(f,t)"
**Output:** true
```

**Example 3:**

```
**Input:** expression = "&(t,f)"
**Output:** false
```

**Example 4:**

```
**Input:** expression = "|(&(t,f,t),!(t))"
**Output:** false
```

**Constraints:**

* `1 <= expression.length <= 20000`
* `expression[i]` consists of characters in `{'(', ')', '&', '|', '!', 't', 'f', ','}`.
* `expression` is a valid expression representing a boolean, as given in the description.

## ac

```java
```
