728x90
반응형
약간 세개를 풀면서 이제
재귀함수 에 대한 감을 잡아가고 있다.
간단한거에서 생각을 잘 못해서
너무 많이 틀려버렸지 뭐얌?
담에 더 잘할거니까 !!
화이팅..
문제
대칭인지 아닌지 찾아내는 문제.
위 사진 처럼 반을 나누었을 때 대칭이 되면 됨.
딱 보자마자 왼쪽 오른쪽 나눠서 재귀함수로 풀면 되겠다!
라고 생각은 들었다.!
하지만 이제 그 뒤에 푸는 방법이 따라줘야되는데,.. 큼..
데이터
데이터는 요러케!
왼쪽 팔이랑 오른쪽 팔이 있음!
/**
* 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;
* }
* }
*/
나의 결과
너무 많이 틀려서 나의 결과가 살짝 창피하다..
그래서 자를까 했지만..
이것도 나의 성☆장☆스☆토☆리 의 일부분 이랄까 ?
내가 계속 left.val != right.val 이렇게 value 를 체크해야하는데, 그냥 left , right를 체크해서 계속 틀렸다..
그거 말고도 많이 틀렸지만..
정답
class Solution {
public boolean isSymmetric(TreeNode root) {
if(root == null) return true;
else return isSymmetric(root.left, root.right);
}
public boolean isSymmetric(TreeNode left, TreeNode right) {
if(left == null && right == null) return true;
if(left == null || right == null) return false;
if(left.val != right.val) return false;
return (isSymmetric(left.left, right.right)
&& isSymmetric(left.right, right.left));
}
}
728x90
반응형
'ALGORITHM > Java algorithm' 카테고리의 다른 글
[LeetCode][Java] 111. Minimum Depth of Binary Tree (0) | 2022.09.05 |
---|---|
[LeetCode][Java] 110. Balanced Binary Tree (0) | 2022.09.05 |
[LeetCode][Java] 100. Same Tree (0) | 2022.09.01 |
[백준] 1655번 가운데를 말해요 (2) | 2021.01.17 |
[백준] 12865번 평범한 배낭 (0) | 2021.01.13 |