๋ฌธ์
ํ์ด ๊ณผ์
์ฃผ์ด์ง ํธ๋ฆฌ๊ฐ ์ต์์ ๋ฃจํธ๋ฅผ ์ค์ฌ์ผ๋ก ์๋ก ๋์นญ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ ์๋์ง ํ๋จํ๋ ๋ฌธ์ ์
๋๋ค.
์ด๋ฅผ ์ํด์ ๋์นญ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ํธ๋ฆฌ๋ฅผ ํ๋ ์์๋ก ๊ทธ๋ ค์ ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํ์์ต๋๋ค.
์์ ๊ฐ์ด ๋์นญ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ํธ๋ฆฌ๋ฅผ ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ํ๋จํด์ค ์ ์์๊น์?
์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง ์ ๋ ํธ๋ฆฌ์ ์ํ๋ฅผ ์์ฉํ์ฌ ๊ตฌํํ์์ต๋๋ค.
๋์นญ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ํธ๋ฆฌ๋ ์ต์์ ๋ฃจํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์๋ธํธ๋ฆฌ์ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์ ๋ฐฐ์น๊ฐ ์๋ก ๋ฐ๋์ด๊ธฐ ๋๋ฌธ์
์ผ์ชฝ ์๋ธํธ๋ฆฌ์์๋ ์ผ๋ฐ์ ์ธ ์ ์ ์ํ
๋ฅผ ์ํํ์๊ณ , ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์์๋ ๋์นญ๋์ด ์๋ค๋ ๊ฐ์ ํ์
์ผ์ชฝ ์์๋ณด๋ค ์ค๋ฅธ์ชฝ ์์์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ฒํ์ฌ ํ์์ ์ํํ์ต๋๋ค.
๋ง์ฝ ํด๋น ํธ๋ฆฌ๊ฐ ๋์นญ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด ๋ ์ํ ๊ฒฐ๊ณผ๊ฐ ๋์ผํด์ผํ๋ฏ๋ก ์ด๋ฅผ ํ์ฉํด ํธ๋ฆฌ์ ๋์นญ ์ ๋ฌด๋ฅผ ํ๋จํ ์ ์์ต๋๋ค.
์ค์ ๊ตฌํ์์๋ ๊ฐ๊ฐ์ ์ํ๋ฅผ ๋ณ๋์ ํจ์๋ก ๊ตฌํํ ๊ฒ์ด ์๋ mode
๋ฅผ ์ธ์๋ก ์ฃผ์ด
์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์ ๋ํด ํ์ ์์๋ฅผ ๊ฒฐ์ ํ๋๋ก ํ์์ต๋๋ค.
์ฝ๋
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
function traversal_with_mode(root, visit, mode) {
if (root === null) {
visit.push(null);
return;
}
visit.push(root.val);
if (mode === "left") {
traversal_with_mode(root.left, visit, mode);
traversal_with_mode(root.right, visit, mode);
} else {
traversal_with_mode(root.right, visit, mode);
traversal_with_mode(root.left, visit, mode);
}
}
/**
* @param {TreeNode} root
* @return {boolean}
*/
var isSymmetric = function (root) {
let left_trace = [];
let right_trace = [];
traversal_with_mode(root, left_trace, "left");
traversal_with_mode(root, right_trace, "right");
// ๋ ๋ฐฉ๋ฌธ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ๋ค.
if (left_trace.length !== right_trace.length) {
return false;
} else {
for (let i = 0; i < left_trace.length; i++) {
if (left_trace[i] !== right_trace[i]) {
return false;
}
}
}
return true;
};
'๐ algorithm > leetcode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode 62 - Unique Paths (Medium) (0) | 2021.03.02 |
---|---|
LeetCode 121 - Best Time to Buy and Sell Stock (Easy) (0) | 2021.03.02 |
LeetCode 876 - Middle of the Linked List (Easy) (0) | 2021.03.02 |
LeetCode 221 - Maximal Square (Medium) (0) | 2021.03.02 |
LeetCode 543 - Diameter of Binary Tree (Easy) (1) | 2021.03.02 |
๐ฌ ๋๊ธ