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

百度seo优化网站怎么做国家高新技术企业证书图片

百度seo优化网站怎么做,国家高新技术企业证书图片,大庆网站设计,免费学做网站前中后序遍历#xff08;DFS#xff09; 首先我们要明确前中后序遍历的顺序#xff1a; 前序#xff1a;中左右中序#xff1a;左中右后序#xff1a;左右中 前中后序遍历的递归代码和迭代代码分别有各自的框架#xff0c;然后根据遍历顺序调整记录元素的位置即可。 …前中后序遍历DFS 首先我们要明确前中后序遍历的顺序 前序中左右中序左中右后序左右中 前中后序遍历的递归代码和迭代代码分别有各自的框架然后根据遍历顺序调整记录元素的位置即可。 递归 class Solution { private:void postOrder(TreeNode* root, vectorint vec) {if (!root) return;postOrder(root-left, vec); // 1postOrder(root-right, vec);// 2vec.push_back(root-val); // 3} public:vectorint postorderTraversal(TreeNode* root) {vectorint res;postOrder(root, res);return res;} };前序遍历3-1-2中序遍历1-3-2后序遍历1-2-3 如前所述三种遍历的迭代方式很简单并且更改迭代方式只要调整记录元素的位置即可。 迭代 前序遍历 我们以前序遍历给出迭代版本的框架核心思想就是用栈。 class Solution { public:vectorint preorderTraversal(TreeNode* root) {vectorint res;stackTreeNode* S;TreeNode* node root;while (node || !S.empty()) {while (node) {res.push_back(node-val); // 注意S.push(node);node node-left;}node S.top(); S.pop();node node-right; }return res;} };中序遍历 与前序遍历的差别请看代码中的 注意调整了记录元素的位置。 class Solution { public:vectorint inorderTraversal(TreeNode* root) {if (!root) return {};vectorint res;stackTreeNode* S;TreeNode* curr root;while (curr || !S.empty()) {while (curr) {S.push(curr);curr curr-left;}TreeNode* node S.top();S.pop();res.push_back(node-val); // 注意curr node-right;}return res;} };后序遍历 注意到前序遍历的顺序为中左右而我们想要的后序遍历的顺序为左右中。我们可以先讲前序遍历代码中访问左右子树的顺序互换得到顺序为中右左再进行 reverse得到后序左右中。 class Solution { public:vectorint postorderTraversal(TreeNode* root) {if (!root) return {};vectorint res;stackTreeNode* S;S.push(root);while (!S.empty()) {TreeNode* node S.top();S.pop();res.push_back(node-val);if (node-left) S.push(node-left);if (node-right) S.push(node-right);}reverse(res.begin(), res.end());return res;} };层序遍历BFS 不需按深度划分 直接输出层序遍历序列不需按深度划分不同于 DFS 使用栈这里是用队。 class Solution { public:vectorint levelOrder(TreeNode* root) {if (!root) return {};queueTreeNode* Q;// vectorvectorint res;vectorint res;Q.push(root);while (!Q.empty()) {TreeNode* curr Q.front();res.push_back(curr-val);Q.pop();if(curr-left) Q.push(curr-left);if(curr-right) Q.push(curr-right);}return res;} }需要按深度划分 注意在不需要按深度划分的版本的基础上做些改变用 n 记录当前深度的节点的个数然后在 for 循环中将这 n 个节点保存到一个数组中下一层深度再用一个新数组保存从而达到按深度划分。 注意在本题的基础上修改可解决 LeetCode 中许多层序遍历的变种问题。 class Solution { public:vectorvectorint levelOrder(TreeNode* root) {if (!root) return {};vectorvectorint res;queueTreeNode* Q;Q.push(root);while (!Q.empty()) {vectorint vec;int n Q.size();for (int i0; in; i) {TreeNode* curr Q.front();Q.pop();vec.push_back(curr-val);if (curr-left) Q.push(curr-left);if (curr-right) Q.push(curr-right);}res.push_back(vec);}return res;} }Ref https://github.com/youngyangyang04/leetcode-master/blob/master/problems/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E8%BF%AD%E4%BB%A3%E9%81%8D%E5%8E%86.md
http://www.pierceye.com/news/631744/

相关文章:

  • 企业数据查询网站word 没有安装wordpress
  • 注册一个设计公司需要多少钱重庆网站建设及优化
  • 青岛企业建设网站公司如何传图片做网站
  • 手机网站源码教程个人博客系统的设计与实现
  • 高端网站改版南京网站如何制作
  • 个人网站建设课程专业彩票网站开发 APP开发
  • 学网站开发首先学哪些基础兰州网站设计哪个平台好
  • 网站后台看不到部分内容桐庐建设局网站
  • 宁夏网站建设费用地址wordpress建站好用吗
  • 微信网站制作哪个好吕梁网站制作
  • 手机怎么制作自己的网站线上运营推广方案
  • 泉州企业制作网站wordpress上传顶部图像
  • php建立网站广州创意设计公司
  • 东营专业网站建设济南天桥区网站建设公司
  • 鹤壁做网站多少钱网站开发 简单留言板
  • 网站建设 阿里东莞seo建站优化公司
  • logo设计竞标网站wordpress攻击跳转
  • 专门做瑜伽的网站wordpress docker镜像
  • 中国航天建设集团有限公司网站wordpress建站 防攻击
  • 买邮箱的网站网站与系统对接图文方案
  • 网页和网站区别wordpress展示企业主题免费
  • 网站制作过程个人网站吗
  • gta5网站建设中温州建设局老网站
  • 凤岗仿做网站专业网站设计制作优化排名
  • 企业网站seo优化德国设计网站大全
  • 重庆网站制作公司电话whois域名查询
  • 六安网站自然排名优化价格自己做网站前端开发
  • 网站发布与推广怎么写广东省城乡建设厅网站
  • 用ipv6地址做网站访问上海网址推广
  • 手把手教你做网站 3北京网站建设是什么