Skip to content

Commit e1d4031

Browse files
authored
2022-09-30 update: added "Evaluate Boolean Binary Tree" (#117)
1 parent 4545c1c commit e1d4031

File tree

3 files changed

+59
-0
lines changed

3 files changed

+59
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,7 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
398398
| 2315. Count Asterisks | [Link](https://leetcode.com/problems/count-asterisks/) | [Link](./src/main/java/com/smlnskgmail/jaman/leetcodejava/easy/CountAsterisks.java) |
399399
| 2319. Check if Matrix Is X-Matrix | [Link](https://leetcode.com/problems/check-if-matrix-is-x-matrix/) | [Link](./src/main/java/com/smlnskgmail/jaman/leetcodejava/easy/CheckIfMatrixIsXMatrix.java) |
400400
| 2325. Decode the Message | [Link](https://leetcode.com/problems/decode-the-message/) | [Link](./src/main/java/com/smlnskgmail/jaman/leetcodejava/easy/DecodeTheMessage.java) |
401+
| 2331. Evaluate Boolean Binary Tree | [Link](https://leetcode.com/problems/evaluate-boolean-binary-tree/) | [Link](./src/main/java/com/smlnskgmail/jaman/leetcodejava/easy/EvaluateBooleanBinaryTree.java) |
401402
| 2351. First Letter to Appear Twice | [Link](https://leetcode.com/problems/first-letter-to-appear-twice/) | [Link](./src/main/java/com/smlnskgmail/jaman/leetcodejava/easy/FirstLetterToAppearTwice.java) |
402403
| 2357. Make Array Zero by Subtracting Equal Amounts | [Link](https://leetcode.com/problems/make-array-zero-by-subtracting-equal-amounts/) | [Link](./src/main/java/com/smlnskgmail/jaman/leetcodejava/easy/MakeArrayZeroBySubtractingEqualAmounts.java) |
403404
| 2367. Number of Arithmetic Triplets | [Link](https://leetcode.com/problems/number-of-arithmetic-triplets/) | [Link](./src/main/java/com/smlnskgmail/jaman/leetcodejava/easy/NumberOfArithmeticTriplets.java) |
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.smlnskgmail.jaman.leetcodejava.easy;
2+
3+
import com.smlnskgmail.jaman.leetcodejava.support.TreeNode;
4+
5+
// https://leetcode.com/problems/evaluate-boolean-binary-tree/
6+
public class EvaluateBooleanBinaryTree {
7+
8+
private final TreeNode input;
9+
10+
public EvaluateBooleanBinaryTree(TreeNode input) {
11+
this.input = input;
12+
}
13+
14+
public boolean solution() {
15+
return evaluateTree(input);
16+
}
17+
18+
private boolean evaluateTree(TreeNode root) {
19+
switch (root.val) {
20+
case 0:
21+
return false;
22+
case 1:
23+
return true;
24+
case 2:
25+
return evaluateTree(root.left) || evaluateTree(root.right);
26+
default:
27+
return evaluateTree(root.left) && evaluateTree(root.right);
28+
}
29+
}
30+
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.smlnskgmail.jaman.leetcodejava.easy;
2+
3+
import com.smlnskgmail.jaman.leetcodejava.support.TreeNode;
4+
import org.junit.Test;
5+
6+
import static org.junit.Assert.assertTrue;
7+
8+
public class EvaluateBooleanBinaryTreeTest {
9+
10+
@Test
11+
public void defaultTest() {
12+
assertTrue(
13+
new EvaluateBooleanBinaryTree(
14+
new TreeNode(
15+
2,
16+
new TreeNode(1),
17+
new TreeNode(
18+
3,
19+
new TreeNode(0),
20+
new TreeNode(1)
21+
)
22+
)
23+
).solution()
24+
);
25+
}
26+
27+
}

0 commit comments

Comments
 (0)