题解 | #二叉树的中序遍历#
二叉树的中序遍历
http://www.nowcoder.com/practice/0bf071c135e64ee2a027783b80bf781d
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型一维数组
*/
public int[] inorderTraversal (TreeNode root) {
Stack<TreeNode> stack = new Stack<>();
List<Integer> list = new ArrayList<>();
stack.add(root);
while(!stack.isEmpty()){
TreeNode pop = stack.pop();
if(pop!=null){
stack.add(pop);
stack.add(pop.left);
}else if(!stack.isEmpty()){
TreeNode pop1 = stack.pop();
list.add(pop1.val);
stack.add(pop1.right);
}
}
int[] result = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
result[i] = list.get(i);
}
return result;
}
}