资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

剑指Offer之重建二叉树(题6)

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网络空间、营销软件、网站建设、赫山网站维护、网站推广。

 1 /****************************************                                                                                                 
  2     > File Name:test.c
  3     > Author:xiaoxiaohui
  4     > mail:1924224891@qq.com
  5     > Created Time:2016年05月20日 星期五 16时11分40秒
  6 ****************************************/
  7 
  8 #include
  9 
 10 BinaryTreeNode* CreateTree(int* first, int* second, int len)
 11 {
 12     if(first == NULL || second == NULL || len <= 0 )
 13     {
 14         return NULL;
 15     }
 16 
 17     int num = first[0];
 18     BinaryTreeNode* node = new BinaryTreeNode(num);      //写入根节点的值
 19 
 20     int i  = 0;
 21     for(;i < len;i++)    //在中序数列中找到与根节点值相同的值
 22     {
 23         if(second[i] == num)
 24         {
 25             break;
 26         }
 27     }
 28 
 29     node->m_pLeft = CreateTree(first[1], second[0], i);    //递归创建左子树
 30     node->m_pRight = CreateTree(second[i + 1], second[i + 1], len - i - 1);   //递归创建右子树
 31 
 32     return first[0];     //返回根节点
 33 }
 34 
 35 
 36 
 37 //总结:当遇到一般的情况与第一种情况相同时,可以考虑递归算法。
 38 //当用递归算法时,要先找出一般规律,然后根据这个一般规律进行写代码

当前标题:剑指Offer之重建二叉树(题6)
文章路径:http://cdkjz.cn/article/ghghdd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220