zoukankan      html  css  js  c++  java
  • 二叉树先序遍历

    先序遍历:根节点,左节点,右节点。

    一、递归先序遍历

    递归方式比较直接明了。

        public static void preOrder(TreeNode root) {
            if (root == null) {
                return;
            }
            System.out.println(root.getValue());
            preOrder(root.getLeft());
            preOrder(root.getRight());
        }
    

    二、非递归先序遍历

    非递归采用栈的特性进行。

        public static void preOrderIterative(TreeNode root) {
            if (root == null) {
                return;
            }
            Stack<TreeNode> treeNodeStack = new Stack<>();
            treeNodeStack.add(root);
            while (!treeNodeStack.isEmpty()) {
                TreeNode currentNode = treeNodeStack.pop();
                System.out.println(currentNode.getValue());
                if (currentNode.getRight() != null) {
                    treeNodeStack.push(currentNode.getRight());
                }
                if (currentNode.getLeft() != null) {
                    treeNodeStack.push(currentNode.getLeft());
                }
            }
        }
    
    作者:iBrake
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    大数据学习操作笔记
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    jstl标签,c:foreach无效的问题
    阅读笔记
    《高效能人士的7个习惯》
  • 原文地址:https://www.cnblogs.com/Brake/p/15257018.html
Copyright © 2011-2022 走看看