二叉树中序遍历,和先序遍历,后序遍历类似,都可以利用递归函数进行

  • 先序遍历数组先加父节点,在加左节点,在加右节点
  • 中序遍历数组先加左节点,在加父节点,在加右节点
  • 后序遍历数组先加左节点,再加右节点,再加父节点
/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @return int整型一维数组
 */
function inorderTraversal( root ) {
    var node=root
    var result=[]
    //定义的递归函数,用于不断往结果传递值
    var inorderTraversalNode=function(node,result){
        if(!node){
            return
        }
        inorderTraversalNode(node.left,result)
        result.push(parseInt(node.val))
        inorderTraversalNode(node.right,result)
    
    }
    inorderTraversalNode(node,result)
    return result
    // write code here
}
module.exports = {
    inorderTraversal : inorderTraversal
};