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

青浦网站优化/seo 优化 工具

青浦网站优化,seo 优化 工具,云主机玩游戏,建站代理目录 1.前序遍历 1.1传统的非递归前序遍历 1.2根据递归改来的 2.中序遍历 3.后序遍历 1.前序遍历 LeetCode《二叉树的前序遍历》 前序遍历有两种常见的,一种是传统的,类似于中序遍历 1.1传统的非递归前序遍历 /*** Definition for a binary tree…

目录

1.前序遍历

1.1传统的非递归前序遍历

1.2根据递归改来的

2.中序遍历

3.后序遍历


1.前序遍历

LeetCode《二叉树的前序遍历》

前序遍历有两种常见的,一种是传统的,类似于中序遍历

  • 1.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> result;stack<TreeNode *> stack;while (!stack.empty() || root) {if (root) {result.push_back(root->val);stack.push(root);root = root->left;} else {root = stack.top()->right;stack.pop();}}return result;}
};
  • 1.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> preorderTraversal(TreeNode *root) {vector<int> result;if (root) {stack<TreeNode *> stack;stack.push(root);while (!stack.empty()) {TreeNode *t = stack.top();stack.pop();result.push_back(t->val);if (t->right) {stack.push(t->right);}if (t->left) {stack.push(t->left);}}}return result;}
};

2.中序遍历

LeetCode《二叉树的中序遍历》

/*** 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) {vector<int> result;stack<TreeNode *> stack;while (!stack.empty() || root) {while (root) {stack.push(root);root = root->left;} if(!stack.empty()){result.push_back(stack.top()->val);root = stack.top()->right;stack.pop();}}return result;}
};

3.后序遍历

LeetCode《二叉树的后序遍历》

/*** 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> result;if (root) {stack<pair<TreeNode *, bool>> stack;stack.push(make_pair(root, false));while (!stack.empty()) {pair<TreeNode *, bool> top = stack.top();stack.pop();if (top.second) {result.push_back(top.first->val);} else {stack.push(make_pair(top.first, true));if (top.first->right) {stack.push(make_pair(top.first->right, false));}if (top.first->left) {stack.push(make_pair(top.first->left, false));}}}}return result;}
};

 

http://www.lbrq.cn/news/1263961.html

相关文章:

  • 云南建设厅网站/产品推广方式
  • 政府与机构类网站/理发培训专业学校
  • 我想做一个网站怎么做的/销售培训课程一般有哪些
  • 如何更改公司网站内容/网络推广的方法和技巧
  • 阜新门户网站建设/网站seo的方法
  • 免费查公司查老板/seo优化推广工程师
  • 建设网站文章哪里下载/企业网站seo案例分析
  • 大连网站优化多少钱/投放广告的网站
  • 免费网站空间申请教程/如何推广app
  • 招商网站开发文档/免费推广的网站有哪些
  • 启航做网站怎么样/微信推广方式有哪些
  • 山西网站建设开发/百度搜索推广收费标准
  • 北京电脑培训网站/百度搜索关键词推广
  • 智能网站建设/怎么样建一个网站
  • wordpress 文章页面模板/深圳关键词优化报价
  • 怎么做网站才能吸引人/产品软文范例800字
  • 湖南涟钢建设有限公司网站/提交链接
  • 网站建设-好发信息网/六安seo
  • 返利网站方案/域名查询网址
  • 刷赞网站推广软件/数字经济发展情况报告
  • 广州做企业网站/百度网址大全网站
  • 继续教育培训网站开发/深圳百度地图
  • 做简单的网站首页/百度官网客服
  • 网站建设脱颖而出/seo模拟点击有用吗
  • zero的大型网站seo教程/关键词
  • 网站推广和宣传的方法/爱站网关键词工具
  • 杭州建委网站首页/网站运营推广的方法有哪些
  • 做网站前需要做什么准备/怎么申请网址
  • 做短链的网站/百度网盘怎么用
  • 网站开发最强工具/宽带业务如何推广
  • 【从零开始学习Redis】初识Redis
  • 最小半径覆盖问题【C++解法+二分+扫描线】
  • Flutter各大主流状态管理框架技术选型分析及具体使用步骤
  • InfluxDB 与 Node.js 框架:Express 集成方案(二)
  • 高效轻量的C++ HTTP服务:cpp-httplib使用指南
  • 【计算机网络】Socket网络编程