본문 바로가기

알고리즘/LeetCode

[LeetCode/100/Java]Same Tree

[LeetCode/100/Java]Same Tree

풀이

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if(p == null && q == null) return true;
        if(p == null || q == null) return false;
        if(p.val != q.val) return false;
        return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
    }
}

후기

요구사항

두 노드가 같은지를 판단하는 알고리즘입니다.

두 노드를 같이 재귀호출을 돌려서 결과값을 뽑아내는 방식으로 풀이하였습니다.

 

time complexity O(N)
space complexity O(N)

 

728x90
반응형