Step-by-Step
[Java] Daily LeetCode Challenge 226. Invert Binary Tree 본문
https://leetcode.com/problems/invert-binary-tree/
Invert Binary Tree - LeetCode
Invert Binary Tree - Given the root of a binary tree, invert the tree, and return its root. Example 1: [https://assets.leetcode.com/uploads/2021/03/14/invert1-tree.jpg] Input: root = [4,2,7,1,3,6,9] Output: [4,7,2,9,6,3,1] Example 2: [https://assets.lee
leetcode.com
Easy.. 그만!! Medium 나왔으면 좋겠다😂
트리의 모든 레벨에서 좌우를 반전시켜주면 된다
DFS 돌면서 노드 채워주면 됨!
[코드]
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null)
return null;
TreeNode ans = new TreeNode(root.val, root.left, root.right);
setTree(root, ans);
return ans;
}
public void setTree(TreeNode node, TreeNode now){
// leaf
if(node.left == null && node.right == null)
return ;
if(node.left == null){
now.right = null;
now.left = new TreeNode(node.right.val);
setTree(node.right, now.left);
}else if(node.right == null){
now.right = new TreeNode(node.left.val);
now.left = null;
setTree(node.left, now.right);
}else {
now.right = new TreeNode(node.left.val);
now.left = new TreeNode(node.right.val);
setTree(node.left, now.right);
setTree(node.right, now.left);
}
}
}
'언어 > JAVA' 카테고리의 다른 글
Comments