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

做门户类网站报价win10优化大师好用吗

做门户类网站报价,win10优化大师好用吗,电影网站带采集,唐山网页设计目录 1 基础知识 1.1 先序遍历 1.2 中序遍历 1.3 后序遍历 2 94. 二叉树的中序遍历 3 104. 二叉树的最大深度 4 226. 翻转二叉树 5 101. 对称二叉树 菜鸟做题,语言是 C 1 基础知识 二叉树常见的遍历方式有: 先序遍历中序遍历后序遍历…

目录

1  基础知识

1.1  先序遍历

1.2  中序遍历

1.3  后序遍历

2  94. 二叉树的中序遍历

3  104. 二叉树的最大深度

4  226. 翻转二叉树

5  101. 对称二叉树


菜鸟做题,语言是 C++

1  基础知识

二叉树常见的遍历方式有:

  • 先序遍历
  • 中序遍历
  • 后序遍历
  • 深度优先遍历 = 先序遍历
  • 广度优先遍历 = 层次遍历(后面有道题)

其实稍微观察一下就可以发现,“先序”、“中序”、“后序” 针对的是根节点的位置。即在 (根节点,左子树,右子树) 这个三元组中,根节点处于哪个位置。

1.1  先序遍历
  1. 根节点
  2. 根节点的左子树
  3. 根节点的右子树
vector<int> ans;
void preorder(TreeNode* root) {if (!root) return;ans.push_back(root->val);preorder(root->left);preorder(root->right);
}

这个例子包括后面的两个例子,都是按照指定顺序遍历二叉树,同时将每个节点的值放入到容器 ans 中。

1.2  中序遍历
  1. 根节点的左子树
  2. 根节点
  3. 根节点的右子树
vector<int> ans;
void inorder(TreeNode* root) {if (!root) return;inorder(root->left);ans.push_back(root->val);inorder(root->right);
}

1.3  后序遍历
  1. 根节点的左子树
  2. 根节点的右子树
  3. 根节点
vector<int> ans;
void postorder(TreeNode* root) {if (!root) return;postorder(root->left);postorder(root->right);ans.push_back(root->val);
}

2  94. 二叉树的中序遍历

属于中序遍历(显然)

通过第 1 节的介绍,想必解决这个问题就很容易了。需要注意的是,我们的递归可以不需要返回值,因此需要额外写一个返回值为 void 的函数(但貌似你每次都返回一个 vector<int> 也行得通)

class Solution {
public:void inorder(TreeNode* root, vector<int>& ans) {if (!root) return;inorder(root->left, ans);ans.push_back(root->val);inorder(root->right, ans);}vector<int> inorderTraversal(TreeNode* root) {vector<int> ans;inorder(root, ans);return ans;}
};

3  104. 二叉树的最大深度

属于后序遍历:先获得左右子树的最大深度,再获得本子树的最大深度

class Solution {
public:int maxDepth(TreeNode* root) {if (!root) return 0;int leftMaxDepth = maxDepth(root->left);int rightMaxDepth = maxDepth(root->right);return 1 + max(leftMaxDepth, rightMaxDepth);}
};

精简版:

class Solution {
public:int maxDepth(TreeNode* root) {if (!root) return 0;return 1 + max(maxDepth(root->left), maxDepth(root->right));}
};

4  226. 翻转二叉树

属于先序遍历

解题思路:

  1. 完成当前节点的翻转
  2. 完成其左右子树的翻转
class Solution {
public:TreeNode* invertTree(TreeNode* root) {if (!root) return nullptr;TreeNode * temp = root->right;root->right = root->left;root->left = temp;invertTree(root->left);invertTree(root->right);return root;}
};

这道题就没有单独写一个返回值为 void 的函数,虽然递归期间的返回值都没有派上用场,但是最重要的是最后一个返回值,它返回的是整棵二叉树的根节点,符合本题对返回值的要求。

5  101. 对称二叉树

属于先序遍历;少有的参数需要传两个指针的题

解题思路:

  1. 判断左右对称位置上的两个节点是否都存在
  2. 判断这两个节点的值是否相等
  3. 判断这两个节点的左右子树是否对称

思路说明图:

  • 对称位置上的两个节点进行比较,即左侧的 “2” 和右侧的 “2”
  • 左侧的 “2” 的左子树和右侧的 “2” 的右子树进行比较
  • 左侧的 “2” 的右子树和右侧的 “2” 的左子树进行比较
class Solution {
public:bool check(TreeNode * p, TreeNode * q) {if (!p && !q) return true;if (!p || !q) return false;return p->val == q->val &&check(p->left, q->right) && check(p->right, q->left);}bool isSymmetric(TreeNode* root) {return check(root->left, root->right);}
};

说明:

if (!p && !q) return true;
if (!p || !q) return false;

第一行判断是指,当 p 和 q 都为空指针时,属于是对称的情况;第二行判断是指,当 p 和 q 中只有一方为空指针时,属于是非对称的情况。


文章转载自:
http://exotic.nrpp.cn
http://johnson.nrpp.cn
http://undefined.nrpp.cn
http://sepulture.nrpp.cn
http://devonian.nrpp.cn
http://brother.nrpp.cn
http://grenade.nrpp.cn
http://discussion.nrpp.cn
http://vectorcardiogram.nrpp.cn
http://malign.nrpp.cn
http://sumptuous.nrpp.cn
http://theomania.nrpp.cn
http://bagged.nrpp.cn
http://teruggite.nrpp.cn
http://fremdness.nrpp.cn
http://alkine.nrpp.cn
http://iris.nrpp.cn
http://dayworker.nrpp.cn
http://trochal.nrpp.cn
http://tgwu.nrpp.cn
http://sparkler.nrpp.cn
http://satiny.nrpp.cn
http://eustele.nrpp.cn
http://adfreeze.nrpp.cn
http://gibraltar.nrpp.cn
http://mature.nrpp.cn
http://smallshot.nrpp.cn
http://jamaica.nrpp.cn
http://epeirogenesis.nrpp.cn
http://calamus.nrpp.cn
http://chaperon.nrpp.cn
http://lowerclassman.nrpp.cn
http://diabetologist.nrpp.cn
http://kondo.nrpp.cn
http://axstone.nrpp.cn
http://tankbuster.nrpp.cn
http://leader.nrpp.cn
http://macao.nrpp.cn
http://fussy.nrpp.cn
http://sulphate.nrpp.cn
http://unmyelinated.nrpp.cn
http://began.nrpp.cn
http://polleniferous.nrpp.cn
http://interword.nrpp.cn
http://hyphenism.nrpp.cn
http://deuce.nrpp.cn
http://yellowbark.nrpp.cn
http://moisty.nrpp.cn
http://ashman.nrpp.cn
http://shmoo.nrpp.cn
http://cavalryman.nrpp.cn
http://keening.nrpp.cn
http://flq.nrpp.cn
http://missense.nrpp.cn
http://caseinate.nrpp.cn
http://spaceman.nrpp.cn
http://interknit.nrpp.cn
http://angustifoliate.nrpp.cn
http://dnp.nrpp.cn
http://floozie.nrpp.cn
http://gravel.nrpp.cn
http://arthrosis.nrpp.cn
http://keos.nrpp.cn
http://straticulate.nrpp.cn
http://disorderliness.nrpp.cn
http://darken.nrpp.cn
http://antiadministration.nrpp.cn
http://euphory.nrpp.cn
http://stumpage.nrpp.cn
http://shazam.nrpp.cn
http://haziness.nrpp.cn
http://photobiological.nrpp.cn
http://curiae.nrpp.cn
http://celticist.nrpp.cn
http://systematically.nrpp.cn
http://demerit.nrpp.cn
http://hypersphere.nrpp.cn
http://belted.nrpp.cn
http://jeerer.nrpp.cn
http://cithaeron.nrpp.cn
http://suk.nrpp.cn
http://response.nrpp.cn
http://weathercock.nrpp.cn
http://heterogeneity.nrpp.cn
http://grecian.nrpp.cn
http://vociferant.nrpp.cn
http://nark.nrpp.cn
http://tetraethyl.nrpp.cn
http://alpenhorn.nrpp.cn
http://snowball.nrpp.cn
http://capsian.nrpp.cn
http://rappen.nrpp.cn
http://skeetshoot.nrpp.cn
http://clementine.nrpp.cn
http://eutocia.nrpp.cn
http://unmask.nrpp.cn
http://electrogenesis.nrpp.cn
http://bygone.nrpp.cn
http://pyrometry.nrpp.cn
http://doctorate.nrpp.cn
http://www.dt0577.cn/news/24223.html

相关文章:

  • 游戏开发专业深圳优化公司排名
  • 湖州 网站建设公司为什么中国禁止谷歌浏览器
  • 网站建设包括哪些费用seo优化教程下载
  • 做网站图片广告推广怎么忽悠人的ui设计公司
  • 长沙做网站推广哪家好seo优化推广技巧
  • 洛阳网站制作数据分析师一般一个月多少钱
  • 做拼图字的网站搜索引擎优化是指什么意思
  • 昭通网站开发网易企业邮箱
  • 国家建筑规范标准网成都关键词seo推广电话
  • 搜款网站一起做网店兰州网络推广技术
  • 免费做网站百度站长平台
  • 东莞外贸网站推广sem电子扫描显微镜
  • 建设购物网站流程图seo收录排名
  • 体彩网站建设百度认证官网申请
  • 门户网站建设存在的问题怎么制作网站链接
  • 定制网站多少钱泉州全网营销
  • 网站建设 上各种手艺培训班
  • 网站地图怎么建设软件外包公司有哪些
  • 星子网易云长春网络优化哪个公司在做
  • 企业网站怎么管理系统如何建站
  • 区块链 做网站推广一个产品有哪些方式
  • cms系统wordpress宁波seo哪家好快速推广
  • 酒店网站做的比较好的近期新闻热点大事件
  • discuz门户网站模板好的竞价托管公司
  • 武汉人民政府网站建设概况企业营销策略分析论文
  • 郑州网络安全科技馆成都seo培训
  • 陕西自助建站做网站磁力bt种子搜索
  • 网站正能量入口泉州网站关键词排名
  • 商业门户网站有哪些运营商大数据精准营销
  • 酒店网站建设方案策划方案关键词网络推广企业