두 개의 트리가 구조와 각각의 노드가 모두 같은지 확인하는 문제입니다.
모든 노드를 방문하면 되는 문제로 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;
}
'Algorithm 문제풀이 > Leetcode' 카테고리의 다른 글
(Easy - DFS) Leetcode - 617. Merge Two Binary Trees (0) | 2024.06.24 |
---|---|
(Easy - DFS) Leetcode - 112. Path Sum (0) | 2024.06.23 |
(Easy - Dynamic Programming) Leetcode - 338. Counting Bits (0) | 2024.06.22 |
(Easy - Binary Search) Leetcode - 744. Find Smallest Letter Greater Than Target (0) | 2024.06.21 |
(Easy - Binary Search) Leetcode - 704 : Binary Search (0) | 2024.06.20 |