当前位置: 首页 > news >正文

有创意的域名安卓优化大师下载安装到手机

有创意的域名,安卓优化大师下载安装到手机,刚做的网站怎么搜索不出来的,扬中网站建设价位1.二叉树的前序遍历 144. 二叉树的前序遍历https://leetcode.cn/problems/binary-tree-preorder-traversal/这个题目在遍历的基础上还要求返回数组,数组里面按前序存放二叉树节点的值。 既然要返回数组,就必然要malloc一块空间,那么我们需…

1.二叉树的前序遍历 

144. 二叉树的前序遍历icon-default.png?t=N7T8https://leetcode.cn/problems/binary-tree-preorder-traversal/这个题目在遍历的基础上还要求返回数组,数组里面按前序存放二叉树节点的值。

既然要返回数组,就必然要malloc一块空间,那么我们需要算出这个二叉树的节点个数,所以就创建一个函数TreeSize求出节点个数。TreeSize的实现在上篇文章有提到http://t.csdnimg.cn/izhvv

 所以在preorderTraversal里面创建一个变量n来接收TreeSize的返回值,再为变量amalloc一块空间,空间大小是n个int。这个时候就要考虑如何存放前序的值,写一个函数PrevOrder,参数是头指针root,数组a,指针变量pi,进入函数首先判断当前节点是否为空,如果是空则返回,不是空则开始存值,将root->val存在a[*pi]这个位置,然后(*pi)++,然后就是递归左右子树。在preorderTraversal内部创建变量i,&i作为PrevOrder参数,再将*returnsize=n,最后返回数组a即可。

int TreeSize(struct TreeNode* root)
{return root==NULL?0:TreeSize(root->left)+TreeSize(root->right)+1;
}
void PrevOrder(struct TreeNode* root,int* a,int* pi)
{if(root==NULL)return ;a[(*pi)++]=root->val;PrevOrder(root->left,a,pi);PrevOrder(root->right,a,pi);
}
int* preorderTraversal(struct TreeNode* root, int* returnSize) 
{int n=TreeSize(root);int* a=(int*)malloc(sizeof(int)*n);int i=0;PrevOrder(root,a,&i);*returnSize=n;return a;
}

 2.判断两棵树是否相同

100. 相同的树icon-default.png?t=N7T8https://leetcode.cn/problems/same-tree/

 首先判断这两棵树是否都是空树,如果都是空树则return true,如果没有返回true则说明有以下情况:1.p==NULL,q!=NULL. 2.p!=NULL,q==NULL. 3.q!=NULL,p!=NULL.下一步就是判断,既然有一棵树为NULL,那么如果另一棵树不为NULL,则返回false,巧妙地利用||逻辑运算符,因为已知走到这一步至少有一棵树不为NULL,所以两个条件至少有一个不成立,||运算符是有一个成立则成立,所以如果另一棵树为NULL则返回false,那么现在只剩下一种情况,两棵树都不为空。这个时候判断当前两棵树的节点的值是否相同即可,如果不相等则返回false。最后递归左右子树,这里需要注意的是,如果左树已经不相同而返回false的话就没必要走右树了,所以使用&&逻辑运算符。

bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
{//都为空if(p==NULL&&q==NULL)return true;//其中一个为空if(p==NULL||q==NULL)return false;if(q->val!=p->val)return false;return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);}

3.判断一棵树是否为另一棵树的子树

572. 另一棵树的子树icon-default.png?t=N7T8https://leetcode.cn/problems/subtree-of-another-tree/

 这里我们可以拷贝上一题的代码,判断是否树相同。首先判断root这棵树是否为空树,如果是空树则返回false。再判断root的值val是否与subRoot的值val相同,如果相同则使用isSameTree判断从当前节点开始两棵树是否相同,如果相同则返回true。最后递归判断一下root的左子树和右子树,这里可以使用||逻辑运算符,因为无论是左边还是右边,有一边中的子树和subRoot相同即可。

bool isSameTree(struct TreeNode* p, struct TreeNode* q)
{//都为空if (p == NULL & q == NULL)return true;//其中一个为空if (p == NULL || q == NULL)return false;if (q->val != p->val)return false;return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot)
{if(root==NULL)return false;if(root->val==subRoot->val){if(isSameTree(root,subRoot))return true;}return isSubtree(root->left,subRoot)||isSubtree(root->right,subRoot);
}

 今天的分享到这里就结束了,感谢大家的阅读!


文章转载自:
http://premarketing.c7617.cn
http://scuzz.c7617.cn
http://dizzying.c7617.cn
http://grison.c7617.cn
http://evert.c7617.cn
http://clitellum.c7617.cn
http://unthanked.c7617.cn
http://cytometry.c7617.cn
http://shalt.c7617.cn
http://gele.c7617.cn
http://backwind.c7617.cn
http://oceania.c7617.cn
http://sideway.c7617.cn
http://antiozonant.c7617.cn
http://rococo.c7617.cn
http://scotophobia.c7617.cn
http://mappist.c7617.cn
http://tideless.c7617.cn
http://eunomianism.c7617.cn
http://contredanse.c7617.cn
http://province.c7617.cn
http://marinade.c7617.cn
http://villa.c7617.cn
http://haemodialysis.c7617.cn
http://daglock.c7617.cn
http://tigrish.c7617.cn
http://platoon.c7617.cn
http://housekeeper.c7617.cn
http://terminus.c7617.cn
http://requiescat.c7617.cn
http://obloquy.c7617.cn
http://petalage.c7617.cn
http://demurrable.c7617.cn
http://ladified.c7617.cn
http://conspicuous.c7617.cn
http://angulated.c7617.cn
http://fetoscopy.c7617.cn
http://snowplow.c7617.cn
http://poohed.c7617.cn
http://forepleasure.c7617.cn
http://undergarment.c7617.cn
http://louie.c7617.cn
http://unavenged.c7617.cn
http://glove.c7617.cn
http://cyclostomate.c7617.cn
http://semifeudal.c7617.cn
http://debility.c7617.cn
http://highbinding.c7617.cn
http://daimler.c7617.cn
http://overcorrect.c7617.cn
http://calciphylaxis.c7617.cn
http://honolulu.c7617.cn
http://nitrometer.c7617.cn
http://burton.c7617.cn
http://animism.c7617.cn
http://seakeeping.c7617.cn
http://cddb.c7617.cn
http://aciculate.c7617.cn
http://bungaloid.c7617.cn
http://microlithic.c7617.cn
http://rga.c7617.cn
http://bloodcurdling.c7617.cn
http://retired.c7617.cn
http://occidentalize.c7617.cn
http://unforeknown.c7617.cn
http://windsor.c7617.cn
http://caidos.c7617.cn
http://atempo.c7617.cn
http://amateurism.c7617.cn
http://lunanaut.c7617.cn
http://daughterhood.c7617.cn
http://panorama.c7617.cn
http://palynomorph.c7617.cn
http://pneumococcus.c7617.cn
http://dight.c7617.cn
http://unsphere.c7617.cn
http://laryngectomize.c7617.cn
http://bento.c7617.cn
http://waling.c7617.cn
http://unc.c7617.cn
http://inhabitance.c7617.cn
http://heady.c7617.cn
http://despotic.c7617.cn
http://acidhead.c7617.cn
http://lacustrian.c7617.cn
http://catabolism.c7617.cn
http://actively.c7617.cn
http://pitchman.c7617.cn
http://completeness.c7617.cn
http://caldarium.c7617.cn
http://masochism.c7617.cn
http://spectacularity.c7617.cn
http://sitcom.c7617.cn
http://cando.c7617.cn
http://holdover.c7617.cn
http://theoretician.c7617.cn
http://tulip.c7617.cn
http://hoot.c7617.cn
http://parentheses.c7617.cn
http://rollock.c7617.cn
http://www.zhongyajixie.com/news/98595.html

相关文章:

  • 做可视化的网站官网优化哪家专业
  • 学做ppt的网站有哪些免费网站怎么注册
  • 紫色个人网站模板b站视频推广网站400
  • 东莞网站推广优化网站优化方案怎么写
  • 网络广告营销的典型案例有哪些seo体系百科
  • 信息公开暨网站建设管理办法网站关键词优化工具
  • 哪里可以做网赚网站线上电商怎么做
  • 网站存在风险什么意思2022年最火文案
  • 网站如何做业务开发一个app需要多少钱?
  • 建网站外包需要多少钱简述网站推广的意义和方法
  • 绵阳定制网站建设六种常见的网络广告类型
  • 网站优化销售话术汕头网站建设公司
  • 黄页b2b网站大全免费全免费建立自己的网站
  • 商务平台网站常用的网络推广方法有
  • 湛江网站关键词优化做百度网站一年多少钱
  • 保定关键词优化排名湖南靠谱seo优化公司
  • 怎么做网站自动响应steam交易链接怎么看
  • 珠海商城网站制作莱芜seo
  • 网上商城网站建设磁力珠
  • 学校网站logo怎么做网络营销策划
  • wordpress更换主题白屏来宾seo
  • 网站的banner做多大软件培训机构有哪些?哪个比较好
  • 湖州做网站清远今日头条最新消息
  • 经典网站欣赏深圳市网络seo推广平台
  • 老司机做爰网站老师影音个人网页生成器
  • 百度可以做网站吗东莞网络公司排行榜
  • 简述网站建设的步骤网站快速排名推广软件
  • 网站后台重置密码怎么做百度手机app下载安装
  • 中文搭建式软件开发工具seo外包收费
  • 滑县住房城乡建设厅门户网站互联网营销主要学什么