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

龙岗模板网站建设竞价推广平台有哪些

龙岗模板网站建设,竞价推广平台有哪些,三明住房建设局网站,域名注册好了1.单值二叉树 965. 单值二叉树 - 力扣#xff08;LeetCode#xff09; 建立一个新的函数#xff0c;用函数传参的方法来记录val的值 如上一篇最后的对称二叉树的习题#xff0c;建立新的函数来传参 多采用使用反对值的方法#xff0c;因为如果是相等return true的话LeetCode 建立一个新的函数用函数传参的方法来记录val的值 如上一篇最后的对称二叉树的习题建立新的函数来传参 多采用使用反对值的方法因为如果是相等return true的话没有实质性的作用  bool _isUnivalTree(struct TreeNode* root,const int val){if(rootNULL){return true;}if(root-val!val){return false;}return _isUnivalTree(root-left,val)_isUnivalTree(root-right,val);} bool isUnivalTree(struct TreeNode* root) {if(rootNULL){return true;}int valroot-val;return _isUnivalTree(root,val); } 2.前序遍历 144. 二叉树的前序遍历 - 力扣LeetCode 力扣的统一要求凡是返回数组一定要返回数组大小 这样还能真的返回returnSize的大小吗  经典的错误标准的零分传值调用 力扣是希望我们在函数内部修改好returnsize的值这样他才能查看数组的大小以便于访问。 那我们怎么确定这个值大小呢换句话问我们如何开辟这个空间呢  当然是不建议一次性开一个很大的数组来保证足够使用的。 我们可以模仿顺序表扩容的功能进行realloc或者直接写一个计数节点个数的函数此功能在上一篇中有讲。 问题出在哪  i成为一个局部变量每次的值都不会改变。 我们任然需要采用传址调用的方法 int TreeNodeSize(struct TreeNode* root){if(rootNULL){return 0;}return TreeNodeSize(root-left)TreeNodeSize(root-right)1; }void _preorderPut(struct TreeNode* root,int* arr,int* pi){//前序遍历的顺序是根左子树右子树if(rootNULL){return;}arr[(*pi)]root-val;_preorderPut(root-left,arr,pi);_preorderPut(root-right,arr,pi);}int* preorderTraversal(struct TreeNode* root, int* returnSize) {*returnSizeTreeNodeSize(root);int* arr(int*)malloc(sizeof(int)*(*returnSize));//只创建一次数组即可所以真正的遍历还是应当使用子函数int i0;int* pii;_preorderPut(root,arr,pi);return arr; } 3.判断是否为子树 572. 另一棵树的子树 - 力扣LeetCode 为空、树的比较是最小子问题isSubtree(left or right)是递归子问题。 我们应该把这两个问题分开不要将树的比较嵌套进递归中而应该分隔开两个逻辑。此处树的比较非常类似于前面题目的                                                     root1-valroot2-val 只不过是将数值的比较换做了整个子树的比较我们直接复用之前写好的比较树的函数即可 利用之前的函数判断树是否相同。遍历主树将主树的每个值与subroot相比较。 一如既往在二叉树中空一直都是最小子问题但是此处的空该return false还是return true呢 根据题目描述root不可能为空  满足一次return true就会一直在 每一次函数调用的“isSubtree”语句上做返回层层返回直到返回到函数外部 bool isSameTree(struct TreeNode* root, struct TreeNode* subRoot){if(rootNULL subRootNULL){return true;}if(rootNULL || subRootNULL){return false;}if(root-val!subRoot-val){return false;}return isSameTree(root-left,subRoot-left)isSameTree(root-right,subRoot-right); }bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){if(rootNULL){return false;}if(root-valsubRoot-valisSameTree(root,subRoot)){return true;}return isSubtree(root-left,subRoot)||isSubtree(root-right,subRoot); } 4.二叉树的创建和销毁非递归 二叉树遍历_牛客题霸_牛客网 (nowcoder.com) 这个题完成创建 #include stdio.h #include stdlib.htypedef struct BTNode {struct BTNode* left;struct BTNode* right;char val; }BTNode;BTNode* CreatTree(char* arr, int* pi) {if (arr[*pi] #) {(*pi);return NULL;}BTNode* newnode (BTNode*)malloc(sizeof(BTNode));newnode-val arr[(*pi)];newnode-left CreatTree(arr, pi);newnode-right CreatTree(arr, pi);return newnode; }void Inorder(BTNode* tree, char* arr) {//中序是左子树 根 右子树if (tree NULL) {return;}Inorder(tree-left, arr);printf(%c , tree-val);Inorder(tree-right, arr); }int main() {char arr[100];scanf(%s, arr);int i 0;BTNode* tree CreatTree(arr, i);Inorder(tree, arr);return 0; } 二叉树的销毁 前序也能销毁但是很麻烦需要变量记录指针。 后序更佳 后序队列利用队列的先进先出 采取出来一个带入自己的左右子节点  注意声明和定义的分离 将树节点指针当作队列节点的值放入队列中。
http://www.yingshimen.cn/news/30575/

相关文章:

  • WordPress网站转HTPPS百度推广与做网站推广的区别
  • 长春网站seo报价河南建设集团
  • 网站开发组件拖拽某公司网站策划建设
  • 深圳网站维护有限公司成都交投成高建设公司网站
  • 网站价格表某电子商务网站建设的详细策划
  • 盘锦网站建设报价it项目外包公司
  • o2o网站建设信息百度网站优化工具
  • 石河子网站设计公司域名备案全部过程
  • 企业网站项目流程商标代理公司
  • 网站后台编辑器不显示企业年金有什么好处
  • 衡水网站推广公司丹阳做网站的公司
  • 山东手机响应式网站建设设计华强北电子网站建设
  • 让人做网站需要注意哪些问题网站开发全程设计
  • 各类专业网站建设政务网站模板
  • seo建站需求潍坊 区网站建设
  • 建设一个交易网站要用多少钱公司网站费用怎么做分录
  • 衡阳网站seo优化店铺logo在线免费制作
  • 上海市网站建设公司58任何判断网站SEO做的好坏
  • wordpress 空白框架商丘网站建设优化推广
  • 嘉兴网站制作建设哪些企业必须用网站
  • 备案期间怎么做网站门户网站建设哪家好
  • 品牌理念设计企业网站建设软件编程培训
  • 网站开发职业环境分析网站团队
  • 网站设置为默认主页短链接在线生成
  • 网站建设的作用和意义wordpress设置文章登录可见
  • 蒲城网站建设外包网站建设报价
  • 大连网站设计制作方案横向网站
  • 程家桥街道网站建设设计公司啊 网站
  • 建设部一建查询网站网站gif素材
  • 加强品牌建设潍坊网站建设SEO优化熊掌号