Invert Binary Tree
Try to solve the Invert Binary Tree problem.
Statement
Given the root node of a binary tree, transform the tree by swapping each node’s left and right subtrees, thus creating a mirror image of the original tree. Return the root of the transformed tree.
Constraints:
- Number of nodes in the tree
-
Node.value
Examples
Understand the problem
Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:
Invert Binary Tree
1.
What is the correct mirrored tree for the given tree?
5
/ \
6 7
/ \
8 9
A.
5
/ \
6 7
/ \
8 9
B.
5
/ \
7 6
/ \
9 8
C.
5
/ \
6 7
/ \
9 8
D.
5
/ \
7 6
/ \
9 8
1 / 2
Figure it out!
We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.
Try it yourself
Implement your solution in main.go
in the following coding playground.
Go
usercode > main.go
// Definition of a binary tree node// type TreeNode[T any] struct {// Data T// Left *TreeNode[T]// Right *TreeNode[T]// }package mainimport (. "golang-test-code/ds_v1/BinaryTree") // TreeNode[T]func mirrorBinaryTree(root *TreeNode[int]) *TreeNode[int] {// Replace this placeholder return statement with your codereturn root}
Click "Run" to evaluate your code.
Invert Binary Tree