1、首先是利用构造函数创建一个二叉树的的数据结构
(注意:在js中没有{1,2,3}这样的变量,故使用数组)
function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
}
2、先分析,二叉树先序遍历,即第一个元素为根节点,在中序遍历中,根节点之前的所有元素为左子树(长度为llen),之后的所有元素为右子树(r长度为len),现在,再回到先序遍历,根节点之后llen长度的元素顺序为左子树的先序遍历顺序,右子树同理,故而可使用递归来构建。
3、注意:数组的slice方法“取前不取后”
完整代码如下:
//由先序遍