94. 二叉树的中序遍历
给定一个二叉树,返回它的中序 遍历。
示例:

image.png
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
public static void main(String[] args) {
S01_binary_tree_inorder_traversal sol = new S01_binary_tree_inorder_traversal();
TreeNode node1 = sol.new TreeNode(1);
TreeNode node2 = sol.new TreeNode(2);
TreeNode node3 = sol.new TreeNode(3);
node1.left = null;
node1.right = node2;
node2.left = node3;
node2.right = null;
List list = sol.inorderTraversal(node1);
System.out.println(list.toString());
}
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
public List<Integer> inorderTraversal(TreeNode root) {
List list = new ArrayList();
helper(root,list);
return list;
}
void helper(TreeNode root,List list){
if(root!= null){
if(root.left != null){
helper(root.left,list);
}
list.add(root.val);
if(root.right != null){
helper(root.right,list);
}
}
}