94. 二叉树的中序遍历(迭代)

    科技2022-07-15  120

    /** * 94. 二叉树的中序遍历 * @author wsq * @date 2020/10/04 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal */ package com.wsq.tree; import java.util.ArrayList; import java.util.Deque; import java.util.LinkedList; import java.util.List; public class InorderTraversal { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> ans = new ArrayList(); Deque<TreeNode> stack = new LinkedList(); TreeNode pre = null; TreeNode curr = root; while(curr != null || !stack.isEmpty()){ while(curr != null){ stack.push(curr); curr = curr.left; } curr = stack.pop(); ans.add(curr.val); curr = curr.right; // pre = curr; // if(curr.right != null && curr.right != pre){ // curr = curr.right; // }else{ // curr = null; // } } return ans; } }
    Processed: 0.014, SQL: 8