1将树形结构转换成一维数组
时间: 2023-12-28 12:05:06 浏览: 126
js代码-数组转化树形结构
5星 · 资源好评率100%
将树形结构转换成一维数组可以采用广度优先搜索(BFS)或深度优先搜索(DFS)算法。以下是采用DFS算法的示例代码:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def flatten(root):
"""
将树形结构转换成一维数组
"""
if not root:
return None
res = []
def dfs(node):
if not node:
return None
res.append(node.val)
dfs(node.left)
dfs(node.right)
dfs(root)
return res
```
在上面的代码中,我们定义了一个`TreeNode`类来表示树的节点,`flatten`函数接收树的根节点作为参数。我们使用DFS算法遍历整棵树,将每个节点的值添加到数组`res`中。最后返回`res`数组即可。
阅读全文