https://leetcode.com/problems/invert-binary-tree/description/
주어진 binary tree를 그림과 같이 역전시켜라.
쉬워 보이지만, 접근을 잘 해야 하는 문제.
제일 하단 leaf 노드부터 뒤집으면 그 위로 차례로 뒤집으면 해결됨을 파악해야 한다.
각 depth 별로 노드를 얻어 하려고 하면 복잡해 지고,
DFS방식으로 접근해서 하단부터 값을 얻고 위로 올라오면서 적용한다.
코드
TreeNode* invertTree(TreeNode* node)
{
if (node == nullptr)
return nullptr;
auto left = invertTree(node->left);
auto right = invertTree(node->right);
node->left = right;
node->right = left;
return node;
}
결과
'Leetcode > NeetCode' 카테고리의 다른 글
[BinaryTree][Easy] 543. Diameter of Binary Tree (0) | 2024.07.17 |
---|---|
[BinaryTree][Easy] 104. Maximum Depth of Binary Tree (0) | 2024.07.17 |
[LinkedList][Hard] 23. Merge k Sorted Lists (0) | 2024.07.16 |
[LinkedList][Medium] 146. LRU Cache (0) | 2024.07.16 |
[LinkedList][Medium] 287. Find the Duplicate Number (0) | 2024.07.16 |