[leetcode] 2331. Evaluate Boolean Binary Tree

bien·2024년 6월 1일
1

코딩테스트

목록 보기
11/14

문제

2331. Evaluate Boolean Binary Tree


풀이

💻 결과코드

class Solution {
    public boolean evaluateTree(TreeNode root) {
        if (root == null) {
            return false;
        }
        
        // 리프 노드의 경우, 노드의 값 자체가 평가 결과
        if (root.left == null && root.right == null) {
            return root.val == 1;
        }
        
        // 비 리프 노드의 경우, 자식 노드의 평가 결과에 대해 논리 연산 수행
        boolean left = evaluateTree(root.left);
        boolean right = evaluateTree(root.right);
        
        if (root.val == 2) {
            return left || right;
        } else {
            return left && right;
        }
    }
}

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;
	}
}
profile
Good Luck!

0개의 댓글