优化代码
时间: 2023-08-11 20:19:28 浏览: 34
好的,以下是优化后的代码实现:
```python
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def build_tree(preorder):
if not preorder:
return None
val = preorder.pop(0)
if val == 'F':
return None
root = TreeNode(val)
root.left = build_tree(preorder)
root.right = build_tree(preorder)
return root
def pre_order(root):
if not root:
return []
return [root.val] + pre_order(root.left) + pre_order(root.right)
def in_order(root):
if not root:
return []
return in_order(root.left) + [root.val] + in_order(root.right)
def post_order(root):
if not root:
return []
return post_order(root.left) + post_order(root.right) + [root.val]
def count_nodes(root):
if not root:
return 0
return count_nodes(root.left) + count_nodes(root.right) + 1
def tree_depth(root):
if not root:
return 0
return max(tree_depth(root.left), tree_depth(root.right)) + 1
def count_leaves(root):
if not root:
return 0
if not root.left and not root.right:
return 1
return count_leaves(root.left) + count_leaves(root.right)
```
这里我们使用了 Python 中的类来表示二叉树节点,实现了建树、遍历和统计节点个数、树的深度、叶子节点个数的功能。优化后的代码更加简洁易懂,并且具有良好的可读性和可维护性。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)