Same Tree
Updated:
두 개의 tree가 동일한지 체크를 하는문제이다.
순회를 하면 되는데 틀린것은 3가지의 경우가 존재한다
- 왼쪽트리가 null 인데, 오른쪽트리가 null이 아닌 경우
- 왼쪽트리가 null이 아닌데, 오른쪽트리가 null인 경우
- 왼쪽트리의 val값과 오른쪽트리의 val값이 다른경우
이 경우를 제외하면서 순회를 해주면 된다.
왼쪽트리, 오른쪽트리 둘다 필요하기 때문에, Parameter를 계속 전달을 해준다
by Java
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
return checksame(p,q);
}
private boolean checksame(TreeNode a,TreeNode b) {
if(a==null && b==null) return true;
if(a!=null && b==null) return false;
if(a== null && b!=null) return false;
if(a.val != b.val) return false;
return checksame(a.left,b.left) && checksame(a.right,b.right);
}
}
Leave a comment