leetcode(力扣) 589.590. N 叉树的前序、后序遍历

和二叉树不同,二叉树只有左右孩子。所以直接两行递归就可以了。
而N叉树有一堆孩子,在递归的时候,应该直接遍历当前节点的所有孩子节点,再挨个去递归即可。

完整代码

"""
# Definition for a Node.
class Node:
    def __init__(self, val=None, children=None):
        self.val = val
        self.children = children
"""

class Solution:
    def preorder(self, root: 'Node') -> List[int]:
        res = []
        
        def dfs(root):
            if not root :
                return
            res.append(root.val)  # 前序先读取当前节点值再遍历孩子。。后续则先遍历孩子,再加入节点值。
            for i in root.children:
                dfs(i)
        dfs(root)
        return res
        
        
上一篇:Element UI Tree 树形控件(可选择),如果子级有值,父级禁用的两种操作


下一篇:JS查询遍历树后得到一颗新树