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

做网站多少钱西宁君博领衔宁波seo网页怎么优化

做网站多少钱西宁君博领衔,宁波seo网页怎么优化,保定 网站制作 招聘,财务公司业务范围目录 1 单值二叉树 2 相同的树 3 另一颗树的子树 4 二叉树的前序遍历 5 二叉树的最大深度 6 对称二叉树 7 二叉树遍历 1 单值二叉树 965. 单值二叉树 - 力扣(LeetCode) bool isUnivalTree(struct TreeNode* root) {if (root NULL){return true;}…

目录

1 单值二叉树

2 相同的树

3 另一颗树的子树

4 二叉树的前序遍历

5 二叉树的最大深度

6 对称二叉树

7 二叉树遍历


1 单值二叉树

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

 

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

2 相同的树

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

 

/*
* Definition for a binary tree node.
* struct TreeNode {*int val;*struct TreeNode* left;*struct TreeNode* right;*
};
*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if (p == NULL && q == NULL){return true;}if (p == NULL || q == NULL)//这里是说只有一个为空 另一个不为空  两个都为空的情况已经被上个判断语句排除了{return false;}if (p->val != q->val){return false;}return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}

3 另一颗树的子树

572. 另一棵树的子树 - 力扣(LeetCode)

 

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/bool  isSametree(struct TreeNode* p, struct TreeNode* q)
{if (p == NULL && q == NULL){return true;}if (p == NULL || q == NULL){return false;}if (p->val != q->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);}

4 二叉树的前序遍历

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

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*//*** Note: The returned array must be malloced, assume caller calls free().*/int TreeSize(struct TreeNode* root)
{return root == NULL ? 0 : TreeSize(root->left) + TreeSize(root->right) + 1;
}void PrevOrder(struct TreeNode* root, int* a, int* i)//这里的i 之所以传指针是因为递归的时候要保存上一次i的值 
{if (root == NULL){return;}a[*i] = root->val;(*i)++;PrevOrder(root->left, a, i);PrevOrder(root->right, a, i);
}
int* preorderTraversal(struct TreeNode* root, int* returnSize) {int n = TreeSize(root);int* a = (int*)malloc(sizeof(int) * n);int j = 0;PrevOrder(root, a, &j);//这里j取地址*returnSize = n;return a;
}

5 二叉树的最大深度

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/int maxDepth(struct TreeNode* root) {if (root == NULL){return 0;}int ret1 = maxDepth(root->left);int ret2 = maxDepth(root->right);return (fmax(ret1, ret2) + 1);}

6 对称二叉树

101. 对称二叉树 - 力扣(LeetCode)

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/bool isSameTree(struct TreeNode* p, struct TreeNode* q)
{if (p == NULL && q == NULL){return true;}if (p == NULL || q == NULL){return false;}if (p->val != q->val){return false;}return isSameTree(p->left, q->right) && isSameTree(p->right, q->left);
}
bool isSymmetric(struct TreeNode* root) {if (root == NULL){return NULL;}return isSameTree(root->left, root->right);
}

7 二叉树遍历

二叉树遍历_牛客题霸_牛客网

 

#include <stdio.h>
#include<stdlib.h>
typedef struct BianryTreeNode
{struct BianryTreeNode* left;struct BianryTreeNode* right;char val;
}BTNode;BTNode* CreatTree(char* a, int* i)//前序遍历
{if (a[*i] == '#'){(*i)++;return  NULL;}BTNode* root = (BTNode*)malloc(sizeof(BTNode));root->val = a[*i];(*i)++;root->left = CreatTree(a, i);root->right = CreatTree(a, i);return root;
}void PrintInOrder(BTNode* root)//中序遍历
{if (root == NULL){return;}PrintInOrder(root->left);printf("%c ", root->val);PrintInOrder(root->right);
}
int main() {char arr[100];scanf("%s", arr);int i = 0;BTNode* root = CreatTree(arr, &i);PrintInOrder(root);return 0;
}

本节对二叉树的一些常规OJ题目进行了代码实现和讲解, 虽然图解很少, 但是大家根据代码和注释也可以很好理解,也可以自己画一画递归展开图.本节对二叉树链式结构的基础要求很高, 大家如果基础不好,可以先看看我之前的博客.

继续加油!

http://www.ds6.com.cn/news/73200.html

相关文章:

  • 怎样在文章后做网站链接seo排名工具给您好的建议
  • b站推广网站2024年手游cpa推广平台
  • wordpress站点一百数据卡不品牌策划包括哪几个方面
  • 西安百度网站排名优化对网络营销的认识800字
  • 河南政法委原书记受审关键词优化排名软件哪家好
  • wordpress logo.svg关键词seo优化公司
  • 自己做网站怎么上传网站搜索排优化怎么做
  • 免费的宣传平台有哪些成都seo优化推广
  • 上海网站制作 优化seo关键词优化推广哪家好
  • 大型网站需要什么样的团队b2b平台有哪些平台
  • 做网站记者好吗上海百度推广开户
  • 网站建设需要提供哪些信息站长工具怎么用
  • 淘宝客网站怎么做我为什么不建议年轻人做运营
  • 花房姑娘直播专业seo网络营销公司
  • 用手机怎么做免费网站百度百科推广费用
  • 网站页面优化公告网络推广工具有哪些
  • 网站建设服务费属于什么费用福州百度分公司
  • 做网站530元企业seo推广
  • 如何搭建自己的网站服务器地址深圳谷歌网络推广公司
  • 阿里做的网站后台怎么进nba排行榜最新排名
  • 专业做消防工程师的正规网站网站alexa排名查询
  • 济南网站建设选聚搜网络企业seo顾问
  • 外贸网站开发哪家好网络广告的发布方式包括
  • 建站宝盒哪个牌子好网络品牌营销
  • 英文企业网站开发赚钱软件
  • 做文件的wordpress阿里巴巴seo排名优化
  • wamp做的网站外网怎么访问不了关键字搜索引擎
  • 百度云 wordpress 教程百度sem优化师
  • 网站建设便捷手机优化大师下载2022
  • 像优酷这样的网站需要怎么做武汉seo优化服务