두 갈래 나무 재구성 (전재)
#include
#include
#include
using namespace std;
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
TreeNode* reConstructBinaryTree(vector pre, vector vin)
{
int pre_len = pre.size();
int in_len = vin.size();
if(pre_len == 0 || in_len == 0 || pre_len != in_len)
return NULL;
TreeNode *head = new TreeNode(pre[0]);//
int root_ind = 0;// root
for(int i = 0; i in_left, in_right,pre_left, pre_right;
for(int j = 0; jright = reConstructBinaryTree(pre_right, in_right);
head->left = reConstructBinaryTree(pre_left, in_left);
return head;
}
// ,
void inorderTraverseRecursive(TreeNode *root)
{
if(root != NULL){
inorderTraverseRecursive(root->left);
cout<val<right);
}
}
int main(){
int pre[] = {1,2,4,7,3,5,6,8};
int in[] = {4,7,2,1,5,3,8,6};
vector pre_vec(pre, pre+8);
vector in_vec(std::begin(in), std::end(in));
// for(auto item: pre_vec)
// cout<
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.