문제로

풀이

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * Example:
 * var ti = TreeNode(5)
 * var v = ti.`val`
 * Definition for a binary tree node.
 * class TreeNode(var `val`: Int) {
 *     var left: TreeNode? = null
 *     var right: TreeNode? = null
 * }
 */
class Solution {
    fun invertTree(root: TreeNode?): TreeNode? {
        if(root == null) return null;
        invertTree(root.left)
        invertTree(root.right)

        var temp = root.left
        root.left = root.right
        root.right = temp

        return root
    }
}


전위탐색
1. 현재 노드
2. 왼쪽 서브트리
3. 오른쪽 서브트리

중위탐색
1. 왼쪽 서브트리
2. 현재 노드
3. 오른쪽 서브트리
후위탐색
1. 왼쪽 서브트리
2. 오른쪽 서브트리
3. 현재 노드
TODO. 전위,중위,후위 탐색이 필요한 경우 각각 공부해놓기