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

网龙沧州网站制作制作网站主要包括哪些步骤

网龙沧州网站制作,制作网站主要包括哪些步骤,宁波网站营销推广策划方案,赣州网站优化公司101. 对称二叉树 101. 对称二叉树思路#xff1a;递归#xff0c;对称即两个子树的左边和右边分别一样#xff1b;一个子树是左中右遍历#xff0c;另一个是右中左遍历#xff1b;写的时候可以分三步#xff0c;确定函数参数以及返回类型#xff0c;确定终止条件#…101. 对称二叉树 101. 对称二叉树思路递归对称即两个子树的左边和右边分别一样一个子树是左中右遍历另一个是右中左遍历写的时候可以分三步确定函数参数以及返回类型确定终止条件确定递归逻辑时间和空间O(n) /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:bool check(TreeNode* lhs, TreeNode* rhs){if(!lhs !rhs) return true;if(!lhs || !rhs) return false;return lhs-val rhs-val check(lhs-left, rhs-right) check(lhs-right, rhs-left);}bool isSymmetric(TreeNode* root) {return check(root, root);} };226. 翻转二叉树 226. 翻转二叉树思路如注释其实就是树的后序遍历时间和空间O(n) /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:TreeNode* invertTree(TreeNode* root) {// 翻转左边翻转右边当前节点的left和right互换if(root nullptr) return nullptr;TreeNode* left invertTree(root-left);TreeNode* right invertTree(root-right);root-left right;root-right left;return root;} };103. 二叉树的锯齿形层序遍历 103. 二叉树的锯齿形层序遍历思路入队和正常bfs相同但是需要临时数组做翻转/用双端队列存储时间和空间O(n) /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:vectorvectorint zigzagLevelOrder(TreeNode* root) {vectorvectorintret;if(root nullptr) return ret;queueTreeNode*q;q.push(root);while(!q.empty()){int size q.size();vectorinttemp_ret;for(int i 0; i size; i){TreeNode* temp q.front();q.pop();temp_ret.push_back(temp-val);if(temp-left) q.push(temp-left);if(temp-right) q.push(temp-right);}if(ret.size() % 2 1) reverse(temp_ret.begin(), temp_ret.end());ret.push_back(temp_ret);} return ret;} };双端存储的 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:vectorvectorint zigzagLevelOrder(TreeNode* root) {vectorvectorintret;if(root nullptr) return ret;queueTreeNode*q;q.push(root);int left_order 1;while(!q.empty()){int size q.size();dequeintdq;for(int i 0; i size; i){TreeNode* temp q.front();q.pop();if(left_order){dq.push_back(temp-val);} else {dq.push_front(temp-val);}if(temp-left) q.push(temp-left);if(temp-right) q.push(temp-right);}ret.emplace_back(vectorint(dq.begin(), dq.end()));left_order !left_order;} return ret;} };105. 从前序与中序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树思路前序找根节点中序找到对应节点然后进行数组的分割最后递归两边继续时间和空间O(n) /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:TreeNode* buildTree(vectorint preorder, vectorint inorder) {if(preorder.empty()) return nullptr;// 前序找根节点TreeNode* root new TreeNode(preorder[0]);if(preorder.size() 1) return root;// 中序找对应节点的位置int id 0, size inorder.size();for(; id size; id){if(inorder[id] root-val){break;}}// 分割两个数组vectorintleft_in{inorder.begin(), inorder.begin() id};vectorintright_in{inorder.begin() id 1, inorder.end()};vectorintleft_pre{preorder.begin() 1, preorder.begin() id 1};vectorintright_pre{preorder.begin() id 1, preorder.end()};root-left buildTree(left_pre, left_in);root-right buildTree(right_pre, right_in);return root;} };
http://www.hkea.cn/news/14329295/

相关文章:

  • 扬州网站seo织梦cms如何做网站
  • 做网站运营需要学什么条件商城型移动端网站开发多少钱
  • 娱乐网站模板嘉兴制作手机网站
  • 重庆最新消息今天新建网站seo优化怎么做
  • 教育网站平面设计郴州网约车
  • 电商网站建设市场网站设计 html5
  • 国外个人网站域名注册汕头制作公司网站
  • 各类网站排行网站开发工程师大学
  • 学校网站建设注意什么最简短的培训心得
  • 做网站的难点是什么档案网站建设图片
  • 中色十二冶金建设有限公司网站扬中网站建设怎么样
  • 企业网站建设规划的基本原则有哪些电脑做网站主机
  • 个人工作室可以做哪些项目免费的关键词优化工具
  • 微网站开发的比较总结聊城市 网站制作
  • 求一个能用的网站北京手机响应式网站建设设计
  • flash做网站轮播图个人社保缴费比例
  • 租房子网站怎么做wordpress腾讯云搭建网站
  • 360未经证实的网站如何做网络营销方式有哪些各方式的优缺点有哪些
  • 建个企业网站收费拍宣传片比较好的公司
  • 图怪兽logo设计官网seo外包大型公司
  • 电子商务网站建设与管理的重要性专业网站建设是哪家便宜
  • 2017做网站怎么赚钱建网站方案
  • 北京做网站好的网站建设公司如何写网站建设报告
  • wordpress 镜像域名福州seo计费
  • 青岛如何建立企业网站企业郑州网站建设找哪家好
  • ASP网站开发教程实验总结泽州县住房保障和城乡建设局网站
  • 做效果图赚钱的网站深圳龙岗网络公司
  • 房地产 网站 设计制作惠州做网站开发
  • 刷网站关键词排名原理最新国际军事动态
  • 网站报价文档买个网站域名多少钱一年