给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
2
/
3
输出: [1,3,2]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
1 class Solution { 2 public List<Integer> inorderTraversal(TreeNode root) { 3 Stack<TreeNode> stack = new Stack<>(); 4 TreeNode p = root; 5 if (root == null) return new ArrayList<>(); 6 List<Integer> res = new ArrayList<>(); 7 do { 8 while (p != null) { 9 stack.push(p); 10 p = p.left; 11 } 12 p = stack.pop(); 13 res.add(p.val); 14 p = p.right; 15 } while (p != null || !stack.empty()); 16 return res; 17 } 18 }