N叉树的后序遍历,字节题库

132 阅读1分钟

590. N叉树的后序遍历

Difficulty: 简单

给定一个 N 叉树,返回其节点值的_后序遍历_。

例如,给定一个 3叉树 :

返回其后序遍历: [5,6,3,2,4,1].

说明: 递归法很简单,你可以使用迭代法完成此题吗?

Solution

Language: java

/*
// Definition for a Node.
class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, List<Node> _children) {
        val = _val;
        children = _children;
    }
};
*/

class Solution {
    List<Integer> res = new ArrayList();
    public List<Integer> postorder(Node root) {
        postNOrder(root);
        return res;
    }

    private void postNOrder(Node node)
    {
        //左右根
        if(node == null) return ;
        List<Node> nodes = node.children;
        for(int i= 0; i < nodes.size(); i++)
        {
            postorder(nodes.get(i));
        }
        res.add(node.val);
    }
}