Algorithm 문제풀이/Leetcode

(Easy - DFS) Leetcode - 100. Same Tree

j-engine 2024. 6. 23. 16:19

두 개의 트리가 구조와 각각의 노드가 모두 같은지 확인하는 문제입니다.

모든 노드를 방문하면 되는 문제로 DFS와 BFS 방식 모두 사용할 수 있습니다.

저는 DFS 방법으로 문제를 풀었습니다.

 

    bool isSameTree(TreeNode* p, TreeNode* q) {
        if (p == nullptr && q == nullptr)
            return true;
        
        // 두 노드 중 한 노드가 없거나 두 노드의 값이 다르다면
        if (p == nullptr || q == nullptr || p->val != q->val)
            return false;

        bool left = isSameTree(p->left, q->left);
        bool right = isSameTree(p->right, q->right);
        
        return left && right;
    }