Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- string
- hash table
- Method
- java
- simulation
- 구현
- Math
- implement
- 코딩테스트
- Counting
- array
- sorting
- 파이썬
- geometry
- dynamic programming
- Binary Tree
- 코테
- database
- SQL
- Stack
- bit manipulation
- greedy
- two pointers
- Matrix
- 자바
- Number Theory
- Class
- Tree
- Binary Search
- Data Structure
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2331. Evaluate Boolean Binary Tree 본문
1. Input
1) TreeNode root
2. Output
1) root에 있는 조건식을 계산한 결과를 반환
- leaf node: 0(false), 1(true)
- non-leaf node: 2(OR), 3(AND)
3. Constraint
1) 노드 수의 범위는 [1, 1000]이다.
2) 0 <= Node.val <= 3
3) root는 full binary tree이기 때문에 모든 노드의 자식은 0개 또는 2개이다.
4. Example
Input: root = [2,1,3,null,null,0,1] -> Output: true
5. Code
1) 첫 코드(2023/06/26)
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public boolean evaluateTree(TreeNode root) {
boolean ans;
if(root.val==2)
ans = evaluateTree(root.left) || evaluateTree(root.right);
else if(root.val==3)
ans = evaluateTree(root.left) && evaluateTree(root.right);
else if(root.val==0)
ans = false;
else
ans = true;
return ans;
}
}
- 100%, 44%
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[백준 온라인 저지] 2188. 축사 배정 (0) | 2023.06.26 |
---|---|
[LeetCode/Easy] 2389. Longest Subsequence With Limited Sum (0) | 2023.06.26 |
[LeetCode/Easy] 2309. Greatest English Letter in Upper and Lower Case (0) | 2023.06.26 |
[LeetCode/Easy] 2409. Count Days Spent Together (0) | 2023.06.23 |
[LeetCode/Easy] 2404. Most Frequent Even Element (0) | 2023.06.22 |