<Easy> Same Tree (LeetCode : C#)

이도희·2023년 4월 13일
0

알고리즘 문제 풀이

목록 보기
53/185

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

📕 문제 설명

두 이진 트리의 root가 주어질 때 두 트리가 같은 지 아닌지 반환하기

  • Input
    두 이진 트리의 root
  • Output
    두 트리가 같은지 아닌지 반환 (bool)

예제


풀이

재귀로 트리 노드 타고 가면서 같은 트리인지 확인하기

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left;
 *     public TreeNode right;
 *     public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
public class Solution {
    public bool IsSameTree(TreeNode p, TreeNode q) {        

        if(p == null && q == null) return true;
        if(p == null || q == null) return false; // 둘 중 하나라도 null 아니면 false
        if(p.val != q.val) return false;
            
        return IsSameTree(p.left, q.left) && IsSameTree(p.right, q.right);
    }
}

결과

profile
하나씩 심어 나가는 개발 농장🥕 (블로그 이전중)

0개의 댓글