>>> root = TreeNode(1) >>> tree_node2 = TreeNode(2) >>> tree_node3 = TreeNode(3) >>> tree_node4 = TreeNode(4) >>> tree_node5 = TreeNode(5) >>> tree_node6 = TreeNode(6) >>> tree_node7 = TreeNode(7) >>> root.left, root.right = tree_node2, tree_node3 >>> tree_node2.
(node: TreeNode)
| 134 | |
| 135 | |
| 136 | def level_order_actual(node: TreeNode) -> None: |
| 137 | """ |
| 138 | >>> root = TreeNode(1) |
| 139 | >>> tree_node2 = TreeNode(2) |
| 140 | >>> tree_node3 = TreeNode(3) |
| 141 | >>> tree_node4 = TreeNode(4) |
| 142 | >>> tree_node5 = TreeNode(5) |
| 143 | >>> tree_node6 = TreeNode(6) |
| 144 | >>> tree_node7 = TreeNode(7) |
| 145 | >>> root.left, root.right = tree_node2, tree_node3 |
| 146 | >>> tree_node2.left, tree_node2.right = tree_node4 , tree_node5 |
| 147 | >>> tree_node3.left, tree_node3.right = tree_node6 , tree_node7 |
| 148 | >>> level_order_actual(root) |
| 149 | 1, |
| 150 | 2,3, |
| 151 | 4,5,6,7, |
| 152 | """ |
| 153 | if not isinstance(node, TreeNode) or not node: |
| 154 | return |
| 155 | q: queue.Queue = queue.Queue() |
| 156 | q.put(node) |
| 157 | while not q.empty(): |
| 158 | list_ = [] |
| 159 | while not q.empty(): |
| 160 | node_dequeued = q.get() |
| 161 | print(node_dequeued.data, end=",") |
| 162 | if node_dequeued.left: |
| 163 | list_.append(node_dequeued.left) |
| 164 | if node_dequeued.right: |
| 165 | list_.append(node_dequeued.right) |
| 166 | print() |
| 167 | for inner_node in list_: |
| 168 | q.put(inner_node) |
| 169 | |
| 170 | |
| 171 | # iteration version |
no test coverage detected