资讯专栏INFORMATION COLUMN

145.Binary Tree Postorder Traversal

geekidentity / 3160人阅读

摘要:题目解答最主要的思想是先存的话,整个存储的顺序会变反,所以要插入存储进去。

题目:
Given a binary tree, return the postorder traversal of its nodes" values.

For example:
Given binary tree {1,#,2,3},
1

 2
/

3
return [3,2,1].

解答:
最主要的思想是先存root的话,整个存储的顺序会变反,所以要插入存储进去。
1.Iterative解答:

public class Solution {
    public List postorderTraversal(TreeNode root) {
        List result = new ArrayList();
        Stack stack = new Stack();
        
        if (root == null) return result;
        stack.push(root);
        
        while (!stack.isEmpty()) {
            TreeNode node = stack.pop();
            result.add(0, node.val);
            if (node.left != null) stack.push(node.left);
            if (node.right != null) stack.push(node.right);
        }
        return result;
    }
}

2.Recursive解答:

//Recursive
public void Helper(TreeNode root, List result) {
    if (root == null) return;
    result.add(0, root.val);
    Helper(root.right, result);
    Helper(root.left, result);
}

public List postorderTraversal(TreeNode root) {
    List result = new ArrayList();
    Helper(root, result);
    
    return result;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64886.html

相关文章

  • leetcode-145-Binary Tree Postorder Traversal

    摘要:栈的意义价值具有时间性,先进后出。比如递归的后序遍历,先序遍历,二叉树的按层次打印。根据需求不同,在中暂时储存的元素单元也不同,元素的先后顺序也不同。应用对顺序有要求的数据。 stack 栈的意义价值: 具有时间性,先进后出。 所以具有时间关联顺序的元素可以通过这个时间。 比如递归的后序遍历,先序遍历, 二叉树的按层次打印。 根据需求不同,在stack中暂时储存的元素...

    Pandaaa 评论0 收藏0
  • [LeetCode] 590. N-ary Tree Postorder Traversal (vs

    摘要:按顺序放入,正好方面是从到,顺序方面是从最右到最左,因为是先入后出。这样最后一下就是先左后右,先子后根。 590. N-ary Tree Postorder Traversal Problem Given an n-ary tree, return the postorder traversal of its nodes values.For example, given a 3-ar...

    sydMobile 评论0 收藏0
  • 二叉树遍历算法收集(先序 preorder,后序 postorder,中序 inorder) 循环+

    摘要:指的是的位置。算法比较简单,算法比较难想,可是原题都说了 preorder: root-left-rightinorder: left-root-rightpostorder: left-right-root order指的是root的位置。 recursive算法比较简单,iterative算法比较难想,可是leetcode原题都说了: recursive method is tri...

    沈建明 评论0 收藏0
  • ARTS(第一周)

    摘要:刚开始可能需要问别人,后面可以或者追踪代码。编程是终身学习的过程,有经验的工程师会为了解决未解决的问题而不断去学习,只等待是无用的。通过使用这种分布式策略,可以降低成本并提高效率。 Algorithm LeetCode 145. Binary Tree Postorder Traversal 后序遍历二叉树 Given a binary tree, return the postor...

    liuyix 评论0 收藏0
  • Construct Binary Tree from Traversal

    摘要:思路在的顺序里,先,然后再左右。所以根据可以知道的。接着再分别在和的里面重复找以及左右的过程。首先的包括和,以及对应的起始和结束位置,对应的起始和结束位置。返回值为,因为每个里要一个,同时找到它的和,左右节点通过返回值获得。同时的不需要了。 From Preorder and Inorder 思路在preorder的顺序里,先root,然后再左右。所以根据preorder可以知道roo...

    wenshi11019 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<