94. 二叉树的中序遍历

题目:给定一个二叉树的根节点 root ,返回它的 中序 遍历。
解法:迭代
思路:模拟
代码:
/**

  • Definition for a binary tree node.

  • public class TreeNode {

  • int val;

  • TreeNode left;

  • TreeNode right;

  • TreeNode() {}

  • TreeNode(int val)

  • TreeNode(int val, TreeNode left, TreeNode right) {

  • this.val = val;

  • this.left = left;

  • this.right = right;

  • }

  • }
    */
    class Solution {
    public List inorderTraversal(TreeNode root) {
    List res = new ArrayList();
    Stack stack = new Stack();
    if(root==null){
    return res;
    }
    TreeNode pNode = root;
    while(!stack.isEmpty()||pNode!=null){
    if(pNode!=null){
    stack.push(pNode);
    pNode = pNode.left;
    } else{
    TreeNode popNode = stack.pop();
    res.add(popNode.val);
    pNode = popNode.right;
    }

    }
    return res;
    }
    }

posted @ 2021-07-20 17:26  for_ward  阅读(48)  评论(0)    收藏  举报