搭建了一个个人博客,以后技术含量不高的博客都会在这里写,如果有自认为还可以的博客,会转载到csdn,特此说明。
代码实现:
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> ans = new ArrayList<>();
if (root == null) {
return ans;
}
if (root.left != null) {
List<Integer> list = inorderTraversal(root.left);
ans.addAll(list);
}
ans.add(root.val);
if (root.right != null) {
List<Integer> list = inorderTraversal(root.right);
ans.addAll(list);
}
return ans;
}
官方代码:
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> res = new ArrayList<Integer>();
Deque<TreeNode> stk = new LinkedList<TreeNode>();
while (root != null || !stk.isEmpty()) {
while (root != null) {
stk.push(root);
root = root.left;
}
root = stk.pop();
res.add(root.val);
root = root.right;
}
return res;
}