llllmz

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

106. 从中序与后序遍历序列构造二叉树 c

/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
struct TreeNode* buidl_tree(int* inorder,int head1,int n1,int* postorder,int head2,int n2){
if(n1<=0||n2<=0) return NULL;
struct TreeNode* root=(struct TreeNode*)malloc(sizeof(struct TreeNode));
root->val=postorder[head2+n2-1];
int i=head1;
for(;i<head1+n1;i++){
if(inorder[i]==root->val) break;
}
root->left=buidl_tree(inorder,head1,i-head1,postorder,head2,i-head1);
root->right=buidl_tree(inorder,i+1,n1-i+head1-1,postorder,head2+i-head1,n2-i+head1-1);
return root;
}
struct TreeNode* buildTree(int* inorder, int inorderSize, int* postorder, int postorderSize) {
return buidl_tree(inorder,0,inorderSize,postorder,0,postorderSize);
}

结果:

posted on   神奇的萝卜丝  阅读(3)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示