From bdb5557054c51c3ead71dd77f132da970fddba9c Mon Sep 17 00:00:00 2001 From: mintheon Date: Sat, 15 Feb 2025 05:17:22 +0900 Subject: [PATCH] invert binary tree solved --- invert-binary-tree/mintheon.java | 52 ++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 invert-binary-tree/mintheon.java diff --git a/invert-binary-tree/mintheon.java b/invert-binary-tree/mintheon.java new file mode 100644 index 000000000..776b676b9 --- /dev/null +++ b/invert-binary-tree/mintheon.java @@ -0,0 +1,52 @@ +import java.util.ArrayDeque; +import java.util.Queue; + +/** + * Definition for a binary tree node. + * public 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; + * } + * } + */ +//시간복잡도: O(n) +//공간복잡도: O(n) +class Solution { + public TreeNode invertTree(TreeNode root) { + if(root == null) { + return root; + } + + Queue queue = new ArrayDeque<>(); + queue.add(root); + + while(!queue.isEmpty()) { + TreeNode cur = queue.poll(); + + if(cur == null) { + continue; + } + + TreeNode temp = cur.left; + cur.left = cur.right; + cur.right = temp; + + if(cur.left != null) { + queue.add(cur.left); + } + + if(cur.right != null) { + queue.add(cur.right); + } + } + + return root; + } +}