[Tree]树与先序遍历

来源:互联网 发布:林鹤连是谁知乎 编辑:程序博客网 时间:2024/05/15 02:53

如果我们有一个先序遍历的数组或者一个链表,以它们来建立一棵树,但是又无法很好的划分左右子树,可以用下面的框架。

TreeNode *buildTree(vector<int> &preorder, int &cur, int min, int max){if(cur >= preorder.size()) return NULL;TreeNode *root = NULL;if(preorder[cur] >= min && preorder[cur] <= max){root = new TreeNode(preorder[cur]);cur++;root->left = buildTree(preorder, cur, min, root->val);root->right = buildTree(preorder, cur, root->val, max);}return root;}




原创粉丝点击