原题
给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]1\2/3输出: [1,3,2]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> list = new ArrayList<>();if(root != null){list.addAll(inorderTraversal(root.left));list.add(root.val);list.addAll(inorderTraversal(root.right));}return list;}}
class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> list = new ArrayList<>();LinkedList<TreeNode> stack = new LinkedList<>();while(!stack.isEmpty()||root!=null){while(root!=null){stack.push(root);root = root.left;}TreeNode node = stack.pop();list.add(node.val);if(node.right!=null){root = node.right;}}return list;}}