LeetCode 590. N叉树的后序遍历

目录结构

1.题目

2.题解


1.题目

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

例如,给定一个 3叉树 :

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

说明: 

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.题解

  • 首先根节点入栈。
  • 每次从栈顶取出一个节点 u时,将其所有子节点顺序入栈。
public class Solution590 {
    public List postorder(Node root) {
        LinkedList stack = new LinkedList<>();
        LinkedList result = new LinkedList<>();
        if (root == null) {
            return result;
        }
        stack.add(root);
        while (!stack.isEmpty()) {
            Node node = stack.pollLast();
            result.addFirst(node.val);
            for (Node item : node.children) {
                if (item != null) {
                    stack.add(item);
                }
            }
        }
        return result;
    }
}
  • 时间复杂度:O(M)
  • 空间复杂度:O(M)

 

你可能感兴趣的:(LeetCode)