首页 > 其他 > 详细

二叉树遍历

时间:2021-08-03 22:33:47      阅读:21      评论:0      收藏:0      [点我收藏+]
//迭代遍历 前序
    public static void fororder(TreeNode root){
        if (root != null){
            Stack<TreeNode> stack = new Stack<TreeNode>();
            stack.add(root);
            while (stack != null){
                root = stack.pop();//取出栈顶元素
                if (root!=null){
                    System.out.println(root.val);
                    stack.push(root.right);
                    stack.push(root.left);   
                }
            }
        }
    }
//迭代遍历 层序
    public static void forendorder(TreeNode root){
        Queue<TreeNode> q = new LinkedList<>();
        q.add(root);
        while (!q.isEmpty()){
            TreeNode node = q.poll();
            if(node != null){
                System.out.println(node.val);
                q.add(node.left);
                q.add(node.right);
            }
        }
    }

二叉树遍历

原文:https://www.cnblogs.com/cfs322/p/15095893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!