diff --git a/java/TreeNode.java b/java/TreeNode.java new file mode 100644 index 0000000..8fdc9b6 --- /dev/null +++ b/java/TreeNode.java @@ -0,0 +1,17 @@ +public class TreeNode { + int val; + TreeNode left; + TreeNode right; + + TreeNode() {} + + TreeNode(int val) { + this.val = val; + } + + TreeNode(int val, TreeNode left, TreeNode right) { + this.val = val; + this.left = left; + this.right = right; + } +} diff --git a/java/binary-tree-postorder-traversal.java b/java/binary-tree-postorder-traversal.java new file mode 100644 index 0000000..5135117 --- /dev/null +++ b/java/binary-tree-postorder-traversal.java @@ -0,0 +1,20 @@ +import java.util.ArrayList; +import java.util.List; + +class Solution { + private ArrayList postorderTraversal(TreeNode node, ArrayList l) { + if (node == null) { + return l; + } + + postorderTraversal(node.left, l); + postorderTraversal(node.right, l); + + l.add(node.val); + return l; + } + + public List postorderTraversal(TreeNode root) { + return postorderTraversal(root, new ArrayList()); + } +}