力扣94.二叉树中序遍历

题目:给定一个二叉树的根节点 root ,返回它的中序遍历。

力扣94.二叉树中序遍历_第1张图片 

 题解:使用迭代思想(维护一个栈)

概念:中序遍历:访问按照 左子树——根节点——右子树 的顺序遍历树

方法:建立一个链表保存结果;

           建立一个栈来保存根节点:从而使得可以先遍历左子树,当左子树为空时,即可弹出栈中的根节点将其存入链表中,只后遍历此节点的右子树。

class Solution {
    public List inorderTraversal(TreeNode root) {
        Stack stack=new Stack<>();
        List list=new ArrayList<>();
        TreeNode cur=root;
        while (cur!=null || !stack.isEmpty()){
            while(cur!=null){
                stack.pu

你可能感兴趣的:(算法题,java)