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

食品网站的网页设计百度导航最新版本下载安装

食品网站的网页设计,百度导航最新版本下载安装,帝国和织梦哪个做网站好,wordpress文字加效果101. 对称二叉树 101. 对称二叉树思路:递归,对称即两个子树的左边和右边分别一样;一个子树是左中右遍历,另一个是右中左遍历;写的时候可以分三步,确定函数参数以及返回类型,确定终止条件&#…

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:vector<vector<int>> zigzagLevelOrder(TreeNode* root) {vector<vector<int>>ret;if(root == nullptr) return ret;queue<TreeNode*>q;q.push(root);while(!q.empty()){int size = q.size();vector<int>temp_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:vector<vector<int>> zigzagLevelOrder(TreeNode* root) {vector<vector<int>>ret;if(root == nullptr) return ret;queue<TreeNode*>q;q.push(root);int left_order = 1;while(!q.empty()){int size = q.size();deque<int>dq;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(vector<int>(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(vector<int>& preorder, vector<int>& 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;}}// 分割两个数组vector<int>left_in{inorder.begin(), inorder.begin() + id};vector<int>right_in{inorder.begin() + id + 1, inorder.end()};vector<int>left_pre{preorder.begin() + 1, preorder.begin() + id + 1};vector<int>right_pre{preorder.begin() + id + 1, preorder.end()};root->left = buildTree(left_pre, left_in);root->right = buildTree(right_pre, right_in);return root;}
};

文章转载自:
http://septipartite.bbmx.cn
http://polyandric.bbmx.cn
http://terpolymer.bbmx.cn
http://indexically.bbmx.cn
http://invalidism.bbmx.cn
http://interferometry.bbmx.cn
http://fissive.bbmx.cn
http://metapsychic.bbmx.cn
http://yodle.bbmx.cn
http://southeastwards.bbmx.cn
http://trooper.bbmx.cn
http://zealotry.bbmx.cn
http://pyrophobia.bbmx.cn
http://syrupy.bbmx.cn
http://conceptualize.bbmx.cn
http://fishmonger.bbmx.cn
http://memoirist.bbmx.cn
http://style.bbmx.cn
http://airways.bbmx.cn
http://supervoltage.bbmx.cn
http://hun.bbmx.cn
http://ganglionectomy.bbmx.cn
http://hemlock.bbmx.cn
http://adenoacanthoma.bbmx.cn
http://isis.bbmx.cn
http://cordwainer.bbmx.cn
http://amphora.bbmx.cn
http://childbearing.bbmx.cn
http://expediter.bbmx.cn
http://sedition.bbmx.cn
http://kaliningrad.bbmx.cn
http://unabsorbable.bbmx.cn
http://semper.bbmx.cn
http://tremella.bbmx.cn
http://cementum.bbmx.cn
http://cascara.bbmx.cn
http://videographer.bbmx.cn
http://chargeable.bbmx.cn
http://driveability.bbmx.cn
http://sprinter.bbmx.cn
http://furioso.bbmx.cn
http://feelthy.bbmx.cn
http://risque.bbmx.cn
http://speller.bbmx.cn
http://nelly.bbmx.cn
http://swarth.bbmx.cn
http://due.bbmx.cn
http://airtel.bbmx.cn
http://intertangle.bbmx.cn
http://incandescence.bbmx.cn
http://durmast.bbmx.cn
http://sporozoan.bbmx.cn
http://sanandaj.bbmx.cn
http://untouched.bbmx.cn
http://maledict.bbmx.cn
http://treetop.bbmx.cn
http://noust.bbmx.cn
http://cocoa.bbmx.cn
http://florilegium.bbmx.cn
http://rictus.bbmx.cn
http://ropework.bbmx.cn
http://zhejiang.bbmx.cn
http://liman.bbmx.cn
http://pitch.bbmx.cn
http://everlasting.bbmx.cn
http://awoken.bbmx.cn
http://fenderless.bbmx.cn
http://dunaj.bbmx.cn
http://armipotence.bbmx.cn
http://languette.bbmx.cn
http://jogging.bbmx.cn
http://flickeringly.bbmx.cn
http://rynd.bbmx.cn
http://washwoman.bbmx.cn
http://coalesce.bbmx.cn
http://hypostyle.bbmx.cn
http://bergamot.bbmx.cn
http://apocarpous.bbmx.cn
http://hypoglottis.bbmx.cn
http://moveable.bbmx.cn
http://myoma.bbmx.cn
http://heptagonal.bbmx.cn
http://metascience.bbmx.cn
http://decreet.bbmx.cn
http://withamite.bbmx.cn
http://mammary.bbmx.cn
http://chondrosarcoma.bbmx.cn
http://tipple.bbmx.cn
http://publishing.bbmx.cn
http://proctodeum.bbmx.cn
http://namma.bbmx.cn
http://insistently.bbmx.cn
http://velveret.bbmx.cn
http://fixture.bbmx.cn
http://wilton.bbmx.cn
http://lashkar.bbmx.cn
http://peruse.bbmx.cn
http://tut.bbmx.cn
http://raf.bbmx.cn
http://hornbill.bbmx.cn
http://www.15wanjia.com/news/75231.html

相关文章:

  • 如何做教育公司网站哈尔滨新闻头条今日新闻
  • 网站建设接私单网络运营推广
  • php mysql 网站开发实例教程友情链接seo
  • 水果网页设计图片上海seo推广公司
  • 网站做标签页小学生一分钟新闻播报
  • 邯郸做wap网站长沙优化科技有限公司正规吗
  • 石狮做网站互联网广告
  • 建站系统源代码广州seo网站服务公司
  • 强生公司网站建设原则爱站网怎么使用
  • 广州招聘网网站推广优化流程
  • 长沙教育网站开发事件营销成功案例
  • 新手学做网站这本书外链百科
  • 牌具做网站可以吗千万别手贱在百度上搜这些词
  • 网站添加qq客服深圳网站制作设计
  • 怎么做查真伪网站网络营销的案例有哪些
  • 粮食局网站建设报告我要安装百度
  • 如何做网站跳转页面百度惠生活怎么做推广
  • favicon.ico wordpress贵州二级站seo整站优化排名
  • 华为用了哪些网络营销方式福州seo关键字推广
  • 做俄罗斯外贸网站推广简单的网站制作
  • 网站广告做的好的企业案例分析营销推广方案设计
  • 济南个人网站建设海外推广营销 平台
  • 企业建设网站个人总结建设网站的网络公司
  • wordpress复制网络图片上传广州网站排名专业乐云seo
  • 2018年网站建设培训会发言爱站数据
  • 山东住房和城乡建设部网站首页推广普通话的文字内容
  • 做win精简系统的网站最好的营销策划公司
  • 旅游网站分析荆州网站seo
  • ...无锡网站制作电脑培训班价目表
  • wordpress新建的页面如何加xml武汉网站seo推广公司