๋ฌธ์
ํ์ด ๊ณผ์
์ฃผ์ด์ง ์ด์ง ํธ๋ฆฌ๋ฅผ ๋ค์ง๋ ์ฐ์ฐ์ ์ํํ๋ ๋ฌธ์ ์
๋๋ค.
๋ค๋ฅธ๋ถ๋ค์ ํ์ด๋ฒ์ ๋ณด๋ level order traversal
์ ์ฌ์ฉํ์ ๋ถ๋ค๋ ์์์ง๋ง ์ ๋ dfs
๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
๊ฐ ์๋ธํธ๋ฆฌ์ ๋ฃจํธ ๋
ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์๋ธํธ๋ฆฌ์ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ๋ฅผ invert
ํด์ค ๋ค์
ํด๋น ์๋ธํธ๋ฆฌ์ ๋ฃจํธ๋
ธ๋๋ฅผ ๋ฐํํด์ค๋๋ค.
์ด๋ฌํ ์ฌ๊ท ํธ์ถ์ ๋ฐ๋ณตํ๋ฉด ์ต์ข
์ ์ผ๋ก ๊ธฐ์กด์ root
๋ invert
๋ ํธ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
์ฝ๋
/**
* 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)
* }
*/
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function (root) {
function invert(root) {
if (!root) return null;
const left = invert(root.left);
const right = invert(root.right);
[root.left, root.right] = [right, left];
return root;
}
invert(root);
return root;
};
๋ฐ์ํ
'๐ algorithm > leetcode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode 98 - Validate Binary Search Tree (Medium) (0) | 2021.03.03 |
---|---|
LeetCode 130 - Surrounded Regions (Medium) (0) | 2021.03.03 |
LeetCode 406 - Queue Reconstruction by Height (Medium) (0) | 2021.03.03 |
LeetCode 54 - Spiral Matrix (Medium) (0) | 2021.03.03 |
LeetCode 279 - Perfect Squares (Medium) (0) | 2021.03.03 |
๐ฌ ๋๊ธ