94. 二叉树的中序遍历

小豆丁 1年前 ⋅ 1079 阅读
94. 二叉树的中序遍历
给定一个二叉树的根节点 root ,返回它的 中序 遍历。

解析

这种题不能用递归,不然考察你啥

class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        List<Integer> res = new ArrayList<>();
        TreeNode node = root;
        Stack<TreeNode> stack = new Stack<>();

        while(!stack.isEmpty()||node!=null){
            while(node!=null){
                stack.push(node);
                node = node.left;
            }
            node = stack.pop();
            res.add(node.val);
            if(node.right!=null){
                node = node.right;
            }else{
                node = null;
            }
        }

        return res;
    }
}