Daily LeetCode Challenge - 100. Same Tree

Min Young Kim·2023년 1월 10일
0

algorithm

목록 보기
43/198

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

오늘 문제는 두개의 트리가 주어졌을때 두 트리가 같은지 아닌지 보는 문제였다.

재귀로 풀면 되는 간단한 문제로
첫번째 조건은 둘의 노드가 비어있는지 보고
두번째는 둘의 노드중에 하나라도 비어있는지 보고
둘다 아니라면 재귀를 사용하여 노드의 left 와 right 를 검사하면 되었다.
모든 조건에 걸리지 않으면 false 를 반환하면 된다.

/**
 * Example:
 * var ti = TreeNode(5)
 * var v = ti.`val`
 * Definition for a binary tree node.
 * class TreeNode(var `val`: Int) {
 *     var left: TreeNode? = null
 *     var right: TreeNode? = null
 * }
 */
class Solution {
    fun isSameTree(p: TreeNode?, q: TreeNode?): Boolean {
        if(p == null && q == null) return true
        if(p == null || q == null) return false
        if(p.`val` == q.`val`) {
            return isSameTree(p.left, q.left) && isSameTree(p.right, q.right)
        }
        return false
    }
    
}
profile
길을 찾는 개발자

0개의 댓글