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

关于内网站建设的请示网络营销组合策略

关于内网站建设的请示,网络营销组合策略,专有网络WordPress,做网站的关键词怎么判断好不好题目链接 题目1: 思路:较简单的思路,就是先将左孩子全部入栈,然后出栈访问右孩子,右孩子为空,再出栈,不为空,右孩子入栈,然后再次循环访问左孩子。 /*** Definition fo…

题目链接

题目1:

在这里插入图片描述
思路:较简单的思路,就是先将左孩子全部入栈,然后出栈访问右孩子,右孩子为空,再出栈,不为空,右孩子入栈,然后再次循环访问左孩子。

/*** 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<int> preorderTraversal(TreeNode* root) {vector<int> v;if(root == nullptr)return v;TreeNode* cur = root;stack<TreeNode*> st;while(cur || !st.empty()){//左孩子全部入栈while(cur){v.push_back(cur->val); //入栈同时访问st.push(cur);cur = cur->left;}cur = st.top();//开始访问栈里面的右孩子   st.pop();   cur = cur->right;}return v;}
};

题目链接
题目2:

在这里插入图片描述
思路:同前序遍历一样,只不过访问结点,改为出栈时访问。

/*** 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<int> inorderTraversal(TreeNode* root) {//1.结点的左孩子先入栈//2.入完了之后,出栈访问,在访问右子树//3.重复2,3 直到栈为空stack<TreeNode*> st;vector<int> v;if(root == nullptr){return v;}TreeNode* cur = root;while(cur || !st.empty()){while(cur){st.push(cur);cur = cur->left;}cur = st.top();  //出栈访问v.push_back(cur->val);st.pop();cur = cur->right;}return v;}
};

题目3链接
题目3:
在这里插入图片描述
思路1:同样跟前面两种方法类似。首先保证左子树全部入栈。区别不同的是,后序遍历,是要经过两次根结点的,那么什么时候访问呢?获取栈顶元素,然后看该结点的右孩子是否为空,或者右孩子是不是已经访问过。否则就继续将右子树入栈。

/*** 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<int> postorderTraversal(TreeNode* root) {vector<int> v;if(root==nullptr){return v;}TreeNode * cur = root;stack<TreeNode*> st;TreeNode* prev = nullptr;while(cur || !st.empty()){//左路结点入栈while(cur){st.push(cur);cur = cur->left;}TreeNode* top = st.top();  //记录左路结点,左路节点的左子树已经访问完了//1.右为空,直接访问该结点。右为空,右子树已经访问完了,可以访问该结点了。if(top->right == nullptr || top->right == prev){v.push_back(top->val);st.pop();prev = top;}else{cur = top->right;   //访问左路节点的右子树  -- 子问题}}return v;}
};

思路2:先序遍历是根左右。后序遍历是左右根。
那么先序遍历成根右左,再转换就是左右根。(这就转换成了后序遍历的结果了)

http://www.dtcms.com/wzjs/483292.html

相关文章:

  • 店面设计的风格可以分成几种seo 优化 工具
  • 快手流量推广免费网站广西seo经理
  • 贵阳营销型网站建设百度广告一天多少钱
  • 最出名的网站建设公司万网域名查询注册商
  • 两学一做网站飘窗seo公司多少钱
  • 第一次开票网站建设怎么开百度权重什么意思
  • 有哪些做调查问卷的赚钱网站宁波网络推广优化方案
  • 服务器托管收费怎样优化网站排名
  • 网站兼容视图选择宁波seo优化公司
  • wordpress 显示当前时间广州seo好找工作吗
  • 福田做网站公司seo资料
  • 网站做推广应该如何来做呢哪里推广站长素材音效网
  • 龙岩网红街在哪里seo线下培训机构
  • 做网站流程、厦门谷歌seo
  • 网站建设的参考文献英文windows优化大师是病毒吗
  • 南阳做网站优化推广网站seo
  • 彩票网站开发教程厦门seo搜索排名
  • 帝国系统怎样做网站地图建站网站关键词优化
  • 怎么用python做网站百度移动端排名
  • 呼市网站建设市场推广工作内容
  • 温州网站建设优化建站系统主要包括
  • 自助建设手机网站企业推广软文范文
  • 免费做动态图片的网站网站推广策略
  • 邳州做网站徐州自动seo
  • 做搜狗网站优化搜索数据
  • 静态html网址网站导航源码十大免费网站推广平台
  • 0基础如何做网站5118站长网站
  • 数据服务网站策划方案免费推广网站大全
  • 口碑好的做网站公司网络营销在哪里学比较靠谱
  • 动态网站开发流程网络舆情处置的五个步骤