[Leetcode #226] Invert Binary Tree

Seongyeol Shin·2021년 10월 26일
0

leetcode

목록 보기
61/196
post-thumbnail
post-custom-banner

Problem

Given the root of a binary tree, invert the tree, and return its root.

Example 1:

Input: root = [4,2,7,1,3,6,9]
Output: [4,7,2,9,6,3,1]

Example 2:

Input: root = [2,1,3]
Output: [2,3,1]

Example 3:

Input: root = []
Output: []

Constraints:

・ The number of nodes in the tree is in the range [0, 100].
・ -100 <= Node.val <= 100

Idea

정말 쉬운 문제다.

Binary Tree를 탐색하면서 좌・우 자식 노드를 바꿔주기만 하면 된다. (더 이상 설명할 것이 없다.)

Solution

class Solution {
    public TreeNode invertTree(TreeNode root) {
        traverseAndInvertTree(root);
    
        return root;
    }

    private void traverseAndInvertTree(TreeNode node) {
        if (node == null)
            return;
    
        TreeNode tmp = node.left;
        node.left = node.right;
        node.right = tmp;
    
        traverseAndInvertTree(node.left);
        traverseAndInvertTree(node.right);
    }
}

Reference

https://leetcode.com/problems/invert-binary-tree/

profile
서버개발자 토모입니다
post-custom-banner

0개의 댓글