由前序遍历和中序遍历重建二叉树和C语言模式实现C++继承和多态——题集(十四)
今天分享一下实现由前序遍历和中序遍历重建二叉树和C语言模式实现C++继承和多态的源代码和运行示例。
由前序遍历和中序遍历重建二叉树的源代码和运行示例。(前序序列:1 2 3 4 5 6 - 中序序列:3 2 4 1 6 5)
源代码如下:
#include<iostream>
using namespace std;
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x)
:val(x)
,left(NULL)
,right(NULL)
{
}
};
bool _Rebuild(vector<int> Pre, vector<int> Ord, int& index, int size, int begin, int end,TreeNode*& root){//[]
if(index>=size || begin>end){
root=NULL;
index -=1;
return true;
}
int mid=begin;
int cur=Pre[index];
while(mid<