From 601c8144e2d5fd396c0fe0f6aa57eac67e9420e6 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Mon, 26 Aug 2024 11:31:42 +0200 Subject: [PATCH] =?UTF-8?q?java:=20add=20=C2=AB590.=20N-ary=20Tree=20Posto?= =?UTF-8?q?rder=20Traversal=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matej Focko --- java/Node.java | 18 ++++++++++++++++++ java/n-ary-tree-postorder-traversal.java | 21 +++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 java/Node.java create mode 100644 java/n-ary-tree-postorder-traversal.java diff --git a/java/Node.java b/java/Node.java new file mode 100644 index 0000000..87e5f71 --- /dev/null +++ b/java/Node.java @@ -0,0 +1,18 @@ +import java.util.List; + +public class Node { + public int val; + public List children; + + public Node() {} + + public Node(int _val) { + val = _val; + } + + public Node(int _val, List _children) { + val = _val; + children = _children; + } +} +; diff --git a/java/n-ary-tree-postorder-traversal.java b/java/n-ary-tree-postorder-traversal.java new file mode 100644 index 0000000..a763eb7 --- /dev/null +++ b/java/n-ary-tree-postorder-traversal.java @@ -0,0 +1,21 @@ +import java.util.ArrayList; +import java.util.List; + +class Solution { + private ArrayList postorder(Node node, ArrayList l) { + if (node == null) { + return l; + } + + for (var child : node.children) { + postorder(child, l); + } + l.add(node.val); + + return l; + } + + public List postorder(Node root) { + return postorder(root, new ArrayList()); + } +}