算法(四)

1、二叉树后序遍历

#递归形式

public void postOrderTraverse1(TreeNode root){

           if(root!=null){

                   postOrderTraverse1(root.left);

                   postOrderTraverse1(root.right);

                   System.out.print(root.val);

           }

}

非递归(迭代算法)

private Stack<TreeNode> postSearch2(TreeNode root) {
    Stack<TreeNode> stack1 = new Stack<>();
    Stack<TreeNode> stack2 = new Stack<>();
    if(root==null) return stack2;
    stack1.push(root);
    while (!stack1.isEmpty()){
        TreeNode node = stack1.pop();
        stack2.push(node);
        if(node.left!=null){
            stack1.push(node.left);
        }
        if(node.right!=null){
            stack1.push(node.right);
        }
    }
    return stack2;
}
算法 文章被收录于专栏

根据自己所见所闻进行算法归纳总结

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务