美文网首页
LeetCode94 二叉树的中序遍历

LeetCode94 二叉树的中序遍历

作者: phantom34 | 来源:发表于2019-06-21 16:27 被阅读0次

题目

二叉树的中序遍历

题目描述

给出一个二叉树 用中序遍历输出

方案

中序遍历:考察到一个节点后,将其暂存,遍历完左子树后,再输出该节点的值,然后遍历右子树。(左根右)

代码

  public List<Integer> inorderTraversal(TreeNode root) {
        List<Integer> list = new ArrayList<>();

        Stack<TreeNode> treeNodeStack = new Stack<TreeNode>();

        TreeNode node = root;
        while (node != null || !treeNodeStack.isEmpty()) {
            while (node != null) {
                treeNodeStack.push(node);
                node = node.left;
            }
            if (!treeNodeStack.isEmpty()) {
                node = treeNodeStack.pop();
                list.add(node.val);
                node = node.right;
            }
        }

        return list;
    }

结果

image.png

相关文章

网友评论

      本文标题:LeetCode94 二叉树的中序遍历

      本文链接:https://www.haomeiwen.com/subject/aufuqctx.html