728x90
class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true; //최상위 노드가 null 이라면 true 반환
}
return isSymmetricHelper(root.left, root.right); //추가 메서드 생성하여 좌측 우측 노드 전달
}
public boolean isSymmetricHelper(TreeNode p, TreeNode q) {
if (p == null || q == null) {
return p == q; // 두 노드중 하나가 null 이라면 두 노드를 비교한 값을 반환
}
if (p.val != q.val) {
return false; // 두 노드의 값이 다르다면 false 반환
}
return isSymmetricHelper(p.left, q.right) && isSymmetricHelper(p.right, q.left); //dfs 재귀
}
}
728x90
'알고리즘' 카테고리의 다른 글
[LeetCode] 110. Balanced Binary Tree (0) | 2023.12.05 |
---|---|
[LeetCode] 104. Maximum Depth of Binary Tree (0) | 2023.12.05 |
[LeetCode] 100. Same Tree (0) | 2023.12.04 |
array partition (0) | 2023.09.30 |
Leet Code 412 (0) | 2023.07.25 |