diff --git a/src/leecode/tree/No94.java b/src/leecode/tree/No94.java new file mode 100644 index 0000000..1ce4bc1 --- /dev/null +++ b/src/leecode/tree/No94.java @@ -0,0 +1,27 @@ +package leecode.tree; + +import java.util.ArrayList; +import java.util.List; +import java.util.Stack; + +/** + * 二叉树的中序遍历 + */ +public class No94 { + public List inorderTraversal(TreeNode root) { + List ret = new ArrayList<>(); + Stack stack = new Stack<>(); + TreeNode cur = root; + while (cur != null || !stack.isEmpty()) { + if (cur != null) { + stack.push(cur); + cur = cur.left; + } else { + cur = stack.pop(); + ret.add(cur.val); + cur = cur.right; + } + } + return ret; + } +}