链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/
题目描述见链接内容。
二叉树的遍历使用递归很直观,也不复杂:
var inorderTraversal = function(root) {
const result = [];
if (root) {
result.push(...inorderTraversal(root.left));
result.push(root.val);
result.push(...inorderTraversal(root.right))
}
return result;
};
${O(n)}$
,其中n
为二叉树节点的个数。二叉树的遍历中每个节点会被访问一次且只会被访问一次。${O(n)}$
,空间复杂度取决于递归的栈深度,而栈深度在二叉树为一条链的情况下会达到${O(n)}$
的级别看了官方题解,在inorderTraversal
内部声明