Leetcode/NeetCode

[BinaryTree][Easy] 100. Same Tree

자전거통학 2024. 7. 17. 21:18

https://leetcode.com/problems/same-tree/description/

 

주어진 두개의 트리가 동일한지 확인하라.

 

 

두 트리의 원소의 모든 값을 대조한다.

 

코드

더보기
void isSameTreeHelper(TreeNode* nodeA, TreeNode* nodeB, bool& same)
{
    if(!same)   return;
    if(nodeA==nullptr && nodeB==nullptr)
        return;

    if((nodeA==nullptr && nodeB!=nullptr) || (nodeA!=nullptr && nodeB==nullptr))
    {
        same = false;
        return;
    }

    if(nodeA->val != nodeB->val)
    {
        same = false;
        return;
    }

    isSameTreeHelper(nodeA->left, nodeB->left, same);
    isSameTreeHelper(nodeA->right, nodeB->right, same);
}

bool isSameTree(TreeNode* p, TreeNode* q) 
{
    bool same = true;
    isSameTreeHelper(p, q, same);
    return same;
}

 

 

결과