# Problem Definition

## Description

Given a binary tree, invert the binary tree and return it. 
Look at the example for more details.

Example:

Given binary tree

```plaintext
     1
   /   \
  2     3
 / \   / \
4   5 6   7
```

invert and return

```plaintext
     1
   /   \
  3     2
 / \   / \
7   6 5   4
```

## Notes

1. [LeetCode article](https://leetcode.com/articles/invert-binary-tree/)
1. [ProgramCreek](https://www.programcreek.com/2014/06/leetcode-invert-binary-tree-java/)
1. [LeetCode discussion - Straightforward DFS recursive, iterative, BFS solutions](https://leetcode.com/problems/invert-binary-tree/discuss/62707/Straightforward-DFS-recursive-iterative-BFS-solutions)