JAVA/leetcode
[LeetCode] Symmetric Tree
JJunDol2
2021. 8. 19. 22:29
https://leetcode.com/problems/symmetric-tree/
Symmetric Tree - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
/**
* 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 isSymmetric(TreeNode root) {
return check(root, root);
}
public boolean check(TreeNode leftNode, TreeNode rightNode) {
if(leftNode == null && rightNode == null) { // 둘다 자식node가 없으면 true
return true;
}
if(leftNode == null || rightNode == null) { // 한쪽만 자식node가 없으면 false
return false;
}
if(leftNode.val != rightNode.val) { // 값이 서로 다르면 false
return false;
}
// 내려가면서 계속 확인
return check(leftNode.left, rightNode.right) && check(leftNode.right, rightNode.left);
}
}