*LeetCode-94 二叉树的中序遍历

╄→尐↘猪︶ㄣ 提交于 2019-12-01 09:50:24

问题:

中序遍历二叉树

分析:

1.递归解法

2.栈+循环

   嵌套循环

  内层循环一直判断当前节点有没有左节点,有就入栈,当前节点等于左节点,没有的话,就出栈打印,当前节点再等于右节点,然后回到开始进行循环判断右节点的左节点是不是空。

代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

public class Solution {
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> listTree = new ArrayList<Integer>();
TreeNode cur = root;
Stack s = new Stack();
while(!s.empty()||cur!=null){
while(cur!=null){
s.push(cur);
cur = cur.left;
}
cur = (TreeNode) s.pop();
listTree.add(cur.val);
cur = cur.right;
}
return listTree;
}
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!