94. 二叉树的中序遍历
题目:给定一个二叉树的根节点 root ,返回它的 中序 遍历。
解法:迭代
思路:模拟
代码:
/**
-
Definition for a binary tree node.
-
public class TreeNode {
-
int val; -
TreeNode left; -
TreeNode right; -
TreeNode() {} -
TreeNode(int val) { this.val = val; } -
TreeNode(int val, TreeNode left, TreeNode right) { -
this.val = val; -
this.left = left; -
this.right = right; -
} -
}
*/
class Solution {
public ListinorderTraversal(TreeNode root) {
Listres = new ArrayList ();
Stackstack = 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;}
}

浙公网安备 33010602011771号