156. Binary Tree Upside Down
Description
Given the root
of a binary tree, turn the tree upside down and return the new root.
You can turn a binary tree upside down with the following steps:
- The original left child becomes the new root.
- The original root becomes the new right child.
- The original right child becomes the new left child.

The mentioned steps are done level by level. It is guaranteed that every right node has a sibling (a left node with the same parent) and has no children.
Example 1:

1 | Input: root = [1,2,3,4,5] |
Example 2:
1 | Input: root = [] |
Example 3:
1 | Input: root = [1] |
Constraints:
- The number of nodes in the tree will be in the range
[0, 10]
. 1 <= Node.val <= 10
- Every right node in the tree has a sibling (a left node that shares the same parent).
- Every right node in the tree has no children.
Hints/Notes
- 2025/02/11 Q3
- binary tree
- No solution from 0x3F or Leetcode
Solution
Language: C++
1 | /** |