public ArrayList<Integer>inorderTraversal(TreeNode root){
//存储结果
ArrayList<Integer> result = new ArrayList<>();//判空if(root ==null)return result;
TreeNode temp = root;//使用栈来解决
Stack<TreeNode> stack = new Stack<>();while(!stack.isEmpty()|| temp !=null){
//先将所有左子树添加到栈中while(temp !=null){
stack.push(temp);
temp = temp.left;}//出栈
temp = stack.pop();
result.add(temp.val);//添加右结点入栈
temp = temp.right;}return result;}
算法(递归)
public ArrayList<Integer>inorderTraversal(TreeNode root){
//存储结果
ArrayList<Integer> result = new ArrayList<>();//判空if(root ==null)return result;//递归依次调用,左中右
result.addAll(inorderTraversal(root.left));
result.add(root.val);
result.addAll(inorderTraversal(root.right));return result;}