94. Binary Tree Inorder Traversal

    xiaoxiao2021-03-25  146

    Given a binary tree, return the inorder traversal of its nodes' values.

    For example: Given binary tree [1,null,2,3],

    1 \ 2 / 3

    return [1,3,2].

    Note: Recursive solution is trivial, could you do it iteratively?

    中序遍历,参照模板: JAVA 二叉树遍历。代码如下:

    /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<Integer>(); Stack<TreeNode> stack = new Stack<TreeNode>(); TreeNode node = root; while (node != null || stack.size() > 0) { while (node != null) { stack.push(node); node = node.left; } if (stack.size() > 0) { node = stack.pop(); res.add(node.val); node = node.right; } } return res; } }

    转载请注明原文地址: https://ju.6miu.com/read-8481.html

    最新回复(0)