Published:
Updated:


SolutionPermalink

package leetcode.sully.week4;

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;
    }
}


class L226 {
    public TreeNode invertTree(TreeNode root) {
//        javax.swing.tree.TreeNode
        // ๋ฐ”์ด๋„ˆ๋ฆฌ ํŠธ๋ฆฌ: ๋…ธ๋“œ๋งˆ๋‹ค ์ž์‹์ด 2 ์ดํ•˜์ธ ํŠธ๋ฆฌ
        // ๊ทธ๋‹ˆ๊นŒ ๋ฐฐ์—ด์—์„œ 1-2-2-2-2-2... ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉด ๋จ

        // ํŠธ๋ฆฌ์—์„œ๋Š” ์—„๋งˆ ๋…ธ๋“œ๋ณด๋‹ค ์ž‘์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ์— ์™€์•ผ ํ•˜๊ณ 
        // ์—„๋งˆ ๋…ธ๋“œ๋ณด๋‹ค ํฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ์— ์™€์•ผ ํ•จ

        // root = [4,2,7,1,3,6,9]
        // <4> / (2), [7] / {1}, {3} -> (2) / {6}, {9} -> [7]

        // val: int ํ˜•
        // left, right : TreeNode ํ˜•

//        if (root.right == null) {
//            root.right = new TreeNode(root.val);
//        }
//
//        if (root.left == null) {
//            root.left = new TreeNode(root.val);
//        }

//        TreeNode val = new TreeNode(root.val);
//        TreeNode left = new TreeNode(root.left.val);
//        TreeNode right = new TreeNode(root.right.val);
//
//        TreeNode treeNode = new TreeNode(val.val, left.right, right.left);

        if (root == null) {
            return null;
        }

        TreeNode right = invertTree(root.right);
        TreeNode left = invertTree(root.left);

        root.left = right;
        root.right = left;

        return root;
    }
}

Leave a comment