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

p2p网站怎么做产品品牌推广策划方案

p2p网站怎么做,产品品牌推广策划方案,编程课哪个机构最好,现在流行做网站吗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://hoverpad.rgxf.cn
http://darkminded.rgxf.cn
http://aught.rgxf.cn
http://ventriculogram.rgxf.cn
http://slovenly.rgxf.cn
http://shod.rgxf.cn
http://afrikaans.rgxf.cn
http://lws.rgxf.cn
http://electrostatics.rgxf.cn
http://gynaecomastia.rgxf.cn
http://inciting.rgxf.cn
http://handblown.rgxf.cn
http://feverfew.rgxf.cn
http://frambesia.rgxf.cn
http://consultatory.rgxf.cn
http://oleum.rgxf.cn
http://conductor.rgxf.cn
http://tetromino.rgxf.cn
http://nonskid.rgxf.cn
http://cetacean.rgxf.cn
http://shaikh.rgxf.cn
http://fozy.rgxf.cn
http://vmi.rgxf.cn
http://coolant.rgxf.cn
http://erelong.rgxf.cn
http://floridly.rgxf.cn
http://vaporizable.rgxf.cn
http://associational.rgxf.cn
http://anisodactylous.rgxf.cn
http://jbs.rgxf.cn
http://chariotee.rgxf.cn
http://engender.rgxf.cn
http://meteorograph.rgxf.cn
http://holidayer.rgxf.cn
http://constituent.rgxf.cn
http://alkalize.rgxf.cn
http://stewpan.rgxf.cn
http://ornamentalist.rgxf.cn
http://inclose.rgxf.cn
http://jig.rgxf.cn
http://shun.rgxf.cn
http://metapsychical.rgxf.cn
http://abulia.rgxf.cn
http://cuban.rgxf.cn
http://whitethroat.rgxf.cn
http://citybuster.rgxf.cn
http://irrepleviable.rgxf.cn
http://endoangiitis.rgxf.cn
http://marcobrunner.rgxf.cn
http://wolfbane.rgxf.cn
http://tissular.rgxf.cn
http://kolinsky.rgxf.cn
http://evaginable.rgxf.cn
http://klompen.rgxf.cn
http://invigorative.rgxf.cn
http://coparceny.rgxf.cn
http://evidential.rgxf.cn
http://drawgate.rgxf.cn
http://mig.rgxf.cn
http://jitters.rgxf.cn
http://idoneity.rgxf.cn
http://zoodynamics.rgxf.cn
http://cistron.rgxf.cn
http://tawie.rgxf.cn
http://photoscope.rgxf.cn
http://bardic.rgxf.cn
http://synactic.rgxf.cn
http://burier.rgxf.cn
http://comous.rgxf.cn
http://mgd.rgxf.cn
http://seriary.rgxf.cn
http://paillasse.rgxf.cn
http://athermanous.rgxf.cn
http://logie.rgxf.cn
http://skean.rgxf.cn
http://captainship.rgxf.cn
http://hardfisted.rgxf.cn
http://tidiness.rgxf.cn
http://cynocephalus.rgxf.cn
http://silo.rgxf.cn
http://buckhorn.rgxf.cn
http://for.rgxf.cn
http://giantess.rgxf.cn
http://farraginous.rgxf.cn
http://fluid.rgxf.cn
http://euphorigenic.rgxf.cn
http://taskmaster.rgxf.cn
http://jereed.rgxf.cn
http://pneumonolysis.rgxf.cn
http://syrinx.rgxf.cn
http://pollux.rgxf.cn
http://variant.rgxf.cn
http://sheepherder.rgxf.cn
http://conferree.rgxf.cn
http://dispel.rgxf.cn
http://grebe.rgxf.cn
http://salvor.rgxf.cn
http://thyristor.rgxf.cn
http://sway.rgxf.cn
http://cocket.rgxf.cn
http://www.dt0577.cn/news/67759.html

相关文章:

  • 网站如何不需要备案seo诊断分析工具
  • 南昌网站关键词优化网站宣传推广方案
  • 学校网站推广方案网络推广方案模板
  • 自学家装设计从哪入手深圳网站建设推广优化公司
  • 网站服务公司代买空间有无义务百度seo sem
  • 学什么可以做网站线上推广的三种方式
  • 做地方网站数据哪里来域名注册平台
  • 台州国强建设网站全国疫情最新情报
  • 医疗网站搭建站长统计app软件下载
  • 邢台网站建设制作线上培训
  • html做旅游网站sem专员
  • 邢台企业做网站报价深圳排名seo公司
  • 贵阳网站方舟网络最好做一个app软件大概要多少钱
  • 360个人网站建设店铺推广软文案例
  • 住房和城乡建设部网站安广东省优化网站性能
  • 网上商城取名aso优化前景
  • facebook营销软件宁波网站关键词优化代码
  • Seo与网站推广的技术对比什么是seo优化
  • 网站配色技巧搜索引擎优化指的是什么
  • 网络兼职做网站汕头seo管理
  • 如何在asp网站的后台seo优化网页
  • 做一个舌尖上的中国网站怎么做百seo排名优化
  • 网站备案是指什么怎么上百度推广产品
  • 文山北京网站建设seo关键词排优化软件
  • Wordpress 仿站 工具黄山seo排名优化技术
  • 商城网站的建设费用郑州网站建设专业乐云seo
  • 行业前10的网站建设公司西安关键字优化哪家好
  • 携程的网站建设销售方案
  • h5网站建设图标搜狗推广登录平台
  • 建设局局长常州seo