320x100
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
트리가 가운데 세로를 기준으로 대칭형인가 판별하는 문제인데
요약하자면 왼쪽의 왼쪽과 오른쪽의 오른쪽이 같아야 하고, 왼쪽의 오른쪽과 오른쪽의 왼쪽이 같아야 한다.
class Solution {
public:
bool compareSubTree(TreeNode* left, TreeNode* right) {
if (nullptr == left && nullptr == right) {
return true;
}
if (nullptr == left || nullptr == right) {
return false;
}
if (left->val != right->val) {
return false;
}
/*
좌측 자식트리의 왼쪽 값과 우측 자식트리의 오른쪽 값이,
좌측 자식트리의 오른쪽 값과 우측 자식트리의 왼쪽 값이 같아야함
*/
return compareSubTree(left->left, right->right) && compareSubTree(left->right, right->left);
}
bool isSymmetric(TreeNode* root) {
return compareSubTree(root, root);
}
};
320x100
'코딩테스트 준비 > leetcode' 카테고리의 다른 글
1775. Equal Sum Arrays With Minimum Number of Operations [Medium] (0) | 2021.06.14 |
---|---|
36. Valid Sudoku [Medium] (0) | 2021.06.13 |
1796. Second Largest Digit in a String [Easy] (0) | 2021.06.12 |
1753. Maximum Score From Removing Stones [Medium] (0) | 2021.06.12 |
112. Path Sum [Easy] (0) | 2021.06.09 |