일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- type
- C++
- scss
- C#
- condition
- git
- BOJ
- dotenv
- security
- TypeScript
- vue.js
- machine learning
- VUE
- loop
- leetcode
- generic
- nginx
- AI
- var
- npm
- JavaScript
- vuetify
- docker
- bash
- Clone
- 보안
- webpack
- 앙상블
- Python
- property
Archives
- Today
- Total
ice rabbit programming
[LeetCode] Symmetric Tree 본문
https://leetcode.com/problems/symmetric-tree/
트리의 좌우 대칭을 확인하는 문제이다. 여지껏 푼 easy 단계 문제들 중 로직을 생각하는 데에 가장 오래 걸린 것 같다. 기본적으로 재귀를 사용할 생각은 가지고 있었지만, 좌-우-좌-우와 우-좌-우-좌를 어떻게 구현해야 할지를 몰랐다.
/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public bool IsSymmetric(TreeNode root) {
return IsMirror(root, root);
}
public bool IsMirror(TreeNode t1, TreeNode t2) {
if(t1==null && t2==null)
return true;
if(t1==null || t2==null)
return false;
return (t1.val == t2.val)
&& IsMirror(t1.right, t2.left)
&& IsMirror(t1.left, t2.right);
}
}
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] May Challenge 1 - First Bad Version (0) | 2020.05.01 |
---|---|
[LeetCode] Employees Earning More Than Their Manager (0) | 2020.05.01 |
[LeetCode] Invert Binary Tree (0) | 2020.04.27 |
[LeetCode] Reverse Linked List (0) | 2020.04.27 |
[LeetCode] Combine Two Tables (0) | 2020.04.27 |