题目描述:
给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,3,2]
代码实现:
- 递归法,中序遍历是左节点,根节点,右节点的顺序遍历,按照这个思路即可。前序中序后序遍历指的是根节点遍历的位置。
- 时间复杂度:O(n)
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number[]}
*/
var inorderTraversal = function(root) {
var stack = []
var res = (root, stack) => {
if (root !== null) {
res(root.left, stack)
stack.push(root.val)
res(root.right, stack)
}
}
res(root, stack)
return stack
};