r""" Create an asymmetric tree for testing. The tree looks like this: 1 / \ 2 2 / \ / \ 3 4 3 4 Returns: Node: Root node of an asymmetric tree. Example: >>> tree = make_asymmetric_tree() >>> tree.data 1 >>> t
()
| 69 | |
| 70 | |
| 71 | def make_asymmetric_tree() -> Node: |
| 72 | r""" |
| 73 | Create an asymmetric tree for testing. |
| 74 | |
| 75 | The tree looks like this: |
| 76 | 1 |
| 77 | / \ |
| 78 | 2 2 |
| 79 | / \ / \ |
| 80 | 3 4 3 4 |
| 81 | |
| 82 | Returns: |
| 83 | Node: Root node of an asymmetric tree. |
| 84 | |
| 85 | Example: |
| 86 | >>> tree = make_asymmetric_tree() |
| 87 | >>> tree.data |
| 88 | 1 |
| 89 | >>> tree.left.data == tree.right.data |
| 90 | True |
| 91 | >>> tree.left.left.data == tree.right.right.data |
| 92 | False |
| 93 | """ |
| 94 | root = Node(1) |
| 95 | root.left = Node(2) |
| 96 | root.right = Node(2) |
| 97 | root.left.left = Node(3) |
| 98 | root.left.right = Node(4) |
| 99 | root.right.left = Node(3) |
| 100 | root.right.right = Node(4) |
| 101 | return root |
| 102 | |
| 103 | |
| 104 | def is_symmetric_tree(tree: Node) -> bool: |