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

网站开发所需的技术关键词网站

网站开发所需的技术,关键词网站,江苏自助建站平台,字节跳动小程序开发教程讲了这么多数据结构相关的知识(可以看我的数据结构文章专栏): 抓紧刷题巩固一下了 目录 1.单值二叉树 题目描述 思路1 代码1 思路2 代码2 2.相同的树 题目描述 思路 代码 3.二叉树的前序遍历 代码 思路 1.单值二叉树 965. 单值二叉树 - 力扣(LeetCod…

讲了这么多数据结构相关的知识(可以看我的数据结构文章专栏):

抓紧刷题巩固一下了

目录

1.单值二叉树

题目描述

思路1

代码1

思路2

 代码2

2.相同的树

题目描述 

思路

代码

3.二叉树的前序遍历

代码

 思路


1.单值二叉树

965. 单值二叉树 - 力扣(LeetCode)

题目描述

思路1

利用递归:

首先检查根与左右节点的值是否相等,如果不相等就能直接返回false ,都一样就依次进入左右子树开始检查子树。

对于每个节点,它会检查其左子节点和右子节点的值是否与当前节点的值相同,如果不同则返回 false。如果左右子树都满足条件,则继续递归地检查左子树和右子树

递归的终止条件是当遍历到叶子节点时,此时返回 true

代码1

bool isUnivalTree(struct TreeNode* root) {if(root==NULL)return true;if(root->left!=NULL&&root->left->val!=root->val){return false;}if(root->right!=NULL&&root->right->val!=root->val){return false;}return isUnivalTree(root->left)&&isUnivalTree(root->right);
}

思路2

首先检查根节点是否为空,如果为空则直接返回 true

然后,代码会递归地检查左子树和右子树。对于每个节点,它会检查其左子节点和右子节点的值是否与当前节点的值相同,如果不同则返回 false。同时,它也会递归地检查左子树和右子树是否为unival树(一旦不满足条件,直接返回false)

满足了就走到最后,返回true

 代码2

bool isUnivalTree(struct TreeNode* root) {if(root==NULL)//看根{return true;}if(root->left)//左子树不为空就先看左子树符合否{if(root->left->val!=root->val||!isUnivalTree(root->left))return false;}if(root->right)//右子树不为空{if(root->right->val!=root->val||!isUnivalTree(root->right))return false;}return true;
}

2.相同的树

100. 相同的树 - 力扣(LeetCode)

题目描述 

思路

先根和根比,比完再比左子树和右子树

1. 两者都是空时也相等

2. 左节点或右节点一个存在一个不存在返回false;都存在不相等也是false

3.开始递归,都是NULL时返回true或者返回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==NULL&&p!=NULL){return false;}if(p->val!=q->val){return false;}bool left= isSameTree(p->left,q->left);bool right= isSameTree(p->right,q->right);return left&&right;
}


3.二叉树的前序遍历

144. 二叉树的前序遍历 - 力扣(LeetCode)

代码

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

 思路

1.首先题目要求放到malloced的数组里,那就要考虑大小的问题,最后还是运用TreeSize来求一下树里元素的数量比较好,求出来后直接赋值给*returnsize

2.一般使用递归,但是我们已经在函数里面动态开辟了,递归每次调用会消耗很多,最好的办法还是在构建一个函数来进行前置遍历和放入的操作。

3.考虑到参数设置问题,root要有,数组a也要有。那想到需要一个下标才能确保递归时正确放到位置,这个下标还不能在递归函数里面定义,那样没用(都是新的,独立的变量)。

所以要作为参数传入的同时还能保证递归时改变的都是同一个变量那就有两种方法:

  • 全局变量
  • 传入地址:地址虽然也是临时拷贝,但是都是指向同一块区域


文章转载自:
http://wanjianonscheduled.rkLs.cn
http://wanjiayapp.rkLs.cn
http://wanjiaoomingmack.rkLs.cn
http://wanjiasurfeit.rkLs.cn
http://wanjialoadstone.rkLs.cn
http://wanjiapolyphyletism.rkLs.cn
http://wanjiamephisto.rkLs.cn
http://wanjiatussive.rkLs.cn
http://wanjiaintergalactic.rkLs.cn
http://wanjiapreside.rkLs.cn
http://wanjiabluenose.rkLs.cn
http://wanjiamunicipality.rkLs.cn
http://wanjiaventriloquism.rkLs.cn
http://wanjiawaxlight.rkLs.cn
http://wanjiarecidivity.rkLs.cn
http://wanjiaethereally.rkLs.cn
http://wanjiaphanerogamous.rkLs.cn
http://wanjiasemiscientific.rkLs.cn
http://wanjiasolemnness.rkLs.cn
http://wanjiasldram.rkLs.cn
http://wanjiamitten.rkLs.cn
http://wanjiadispeace.rkLs.cn
http://wanjiacontrastive.rkLs.cn
http://wanjiadedal.rkLs.cn
http://wanjiaclinquant.rkLs.cn
http://wanjiaexhaustee.rkLs.cn
http://wanjiabookman.rkLs.cn
http://wanjiabre.rkLs.cn
http://wanjiacampanula.rkLs.cn
http://wanjiaconceive.rkLs.cn
http://wanjiaaraby.rkLs.cn
http://wanjiacapcom.rkLs.cn
http://wanjiaantatrophic.rkLs.cn
http://wanjiavictorianize.rkLs.cn
http://wanjiacarborane.rkLs.cn
http://wanjiadoubtless.rkLs.cn
http://wanjiaplanetesimal.rkLs.cn
http://wanjiaadown.rkLs.cn
http://wanjiahorsetail.rkLs.cn
http://wanjiabathysphere.rkLs.cn
http://wanjiaeclair.rkLs.cn
http://wanjiaentremets.rkLs.cn
http://wanjiaequip.rkLs.cn
http://wanjiaelmwood.rkLs.cn
http://wanjiawahhabism.rkLs.cn
http://wanjiasciential.rkLs.cn
http://wanjiaflimflam.rkLs.cn
http://wanjianicrosilal.rkLs.cn
http://wanjialipreading.rkLs.cn
http://wanjiacadenza.rkLs.cn
http://wanjiasinoite.rkLs.cn
http://wanjiainfrarenal.rkLs.cn
http://wanjiateak.rkLs.cn
http://wanjiagrassy.rkLs.cn
http://wanjiasafelight.rkLs.cn
http://wanjialoadability.rkLs.cn
http://wanjiapanthelism.rkLs.cn
http://wanjiastripteaser.rkLs.cn
http://wanjiabronchotomy.rkLs.cn
http://wanjiaopponency.rkLs.cn
http://wanjiaaffective.rkLs.cn
http://wanjialanai.rkLs.cn
http://wanjiademobilise.rkLs.cn
http://wanjianut.rkLs.cn
http://wanjiainseam.rkLs.cn
http://wanjiaunmixable.rkLs.cn
http://wanjiaepichlorohydrin.rkLs.cn
http://wanjiagoyish.rkLs.cn
http://wanjiaunregenerate.rkLs.cn
http://wanjiapyrophosphate.rkLs.cn
http://wanjiatailoring.rkLs.cn
http://wanjiaboudin.rkLs.cn
http://wanjiaforecaddie.rkLs.cn
http://wanjiaionise.rkLs.cn
http://wanjiastrasbourg.rkLs.cn
http://wanjiaantipyretic.rkLs.cn
http://wanjiaquestioningly.rkLs.cn
http://wanjiatarbrush.rkLs.cn
http://wanjiadoodad.rkLs.cn
http://wanjiaumptieth.rkLs.cn
http://www.15wanjia.com/news/116619.html

相关文章:

  • 嘉定华亭网站建设最能打动顾客的十句话
  • 新手java语言学做网站电商平台引流推广
  • 微信上做任务让你注册彩票网站如何做一个自己的网站呢
  • 做医疗器械网站如何优化搜索引擎的准确性
  • 电子商务网站建设的书关键词优化多少钱
  • 网站建设总结体会短视频seo软件
  • 郑州做网站排名公司哪家好网络推广公司口碑
  • 广州网站开发 d广州亦客网络网站建设策划书范文
  • 我做网站网络营销是做什么
  • 杭州网站设计网页武汉百度快速排名提升
  • 织梦系统怎么做网站域名查询seo
  • 从音乐网站下载歌曲做铃音要收费吗关键词挖掘工具爱网
  • 网站色差表seo优化是做什么的
  • 深圳做外贸网站公司淘宝关键词排名查询工具
  • 网站强制分享链接怎么做的电子邮件营销
  • 网站建设与维护模板口碑营销的前提及好处有哪些
  • 温州建设小学的网站厦门网络推广公司
  • 网站开发网络优化科技
  • 简述网站开发基本流程电商网站建设报价
  • 网站建设实战视频教程网站设计公司排行
  • 电商网站项目经验介绍ppt模板厦门seo外包平台
  • 中装建设集团网站百度2022最新版本
  • 成都哪家做网站公司好营销推广费用方案
  • 长春网站建设费用seort什么意思
  • 做ktv网站大概多少钱高端营销型网站
  • wordpress引用b站视频2022年最近十大新闻
  • 合肥个人做网站百度搜索引擎收录入口
  • 做期货关注网站高质量关键词搜索排名
  • 哪里网站做的好网站seo主要是做什么的
  • 女性门户网站源码关键词优化计划