My recursive solution for Problem #145: Binary Tree Postorder Traversal:
/**
* Definition for a binary tree node.
* 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;
* }
* }
*/
class Solution {
public List<Integer> postorderTraversal(TreeNode root) {
List<Integer> values = new ArrayList<>();
postorderTraversalRecur(root, values);
return values;
}
void postorderTraversalRecur(TreeNode root, List<Integer> values) {
if (root == null)
return;
postorderTraversalRecur(root.left, values);
postorderTraversalRecur(root.right, values);
values.add(root.val);
}
}
I leave the iterative one for you to do as an exercise!
Let's see some solutions coming up through the remainder of June and July 2020, and the Java solution with least program-size(size of source code) will win a free t-shirt from Let's Code_ merchandise!!!
Let's Code_!!!
No comments:
Post a Comment