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

柳州网站开发公司仿36氪wordpress

柳州网站开发公司,仿36氪wordpress,wordpress skype插件,dede 转wordpress1--二叉树的层序遍历(102) 主要思路: 经典广度优先搜索,基于队列; 对于本题需要将同一层的节点放在一个数组中,因此遍历的时候需要用一个变量 nums 来记录当前层的节点数,即 nums 等于队列元素的…

1--二叉树的层序遍历(102)

主要思路:

        经典广度优先搜索,基于队列;

        对于本题需要将同一层的节点放在一个数组中,因此遍历的时候需要用一个变量 nums 来记录当前层的节点数,即 nums 等于队列元素的数目;

#include <iostream>
#include <vector>
#include <queue>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:std::vector<std::vector<int>> levelOrder(TreeNode* root) {std::vector<std::vector<int>> res;if(root == nullptr) return res;std::queue<TreeNode*> q;q.push(root);while(!q.empty()){int nums = q.size(); // 当前层的节点数std::vector<int> tmp;while(nums > 0){ // 遍历处理同一层TreeNode *cur = q.front();q.pop();tmp.push_back(cur->val);if(cur->left != nullptr) q.push(cur->left);if(cur->right != nullptr) q.push(cur->right);nums--;}res.push_back(tmp); // 记录当前层的元素}return res;}
};int main(int argc, char* argv[]){// root = [1, null, 2, 3]TreeNode *Node1 = new TreeNode(3);TreeNode *Node2 = new TreeNode(9);TreeNode *Node3 = new TreeNode(20);TreeNode *Node4 = new TreeNode(15);TreeNode *Node5 = new TreeNode(7);Node1->left = Node2;Node1->right = Node3;Node3->left = Node4;Node3->right = Node5;Solution S1;std::vector<std::vector<int>> res = S1.levelOrder(Node1);for(auto item : res) {for (int v : item) std::cout << v << " ";std::cout << std::endl;}return 0;
}

2--二叉树的最大深度

主要思路:

        递归计算左右子树的深度,选取两者最大值 +1 返回;

#include <iostream>
#include <vector>
#include <queue>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:int maxDepth(TreeNode* root) {if(root == nullptr) return 0;int res = dfs(root);return res;}int dfs(TreeNode* root){if(root == nullptr) return 0;int left_height = dfs(root->left);int right_height = dfs(root->right);int cur_height = std::max(left_height, right_height) + 1;return cur_height;}
};int main(int argc, char* argv[]){// root = [3,9,20,null,null,15,7]TreeNode *Node1 = new TreeNode(3);TreeNode *Node2 = new TreeNode(9);TreeNode *Node3 = new TreeNode(20);TreeNode *Node4 = new TreeNode(15);TreeNode *Node5 = new TreeNode(7);Node1->left = Node2;Node1->right = Node3;Node3->left = Node4;Node3->right = Node5;Solution S1;int res = S1.maxDepth(Node1);std::cout << res << std::endl;return 0;
}

3--从前序与中序遍历序列构造二叉树

主要思路:

        

http://www.yayakq.cn/news/483395/

相关文章:

  • 遂溪网站建设公司广州做公司网站
  • 做电脑系统网站高端模板建站
  • 亿万网站网络营销与直播电商专业就业前景
  • 初二做网站的首页模板网站设计怎么做图片透明度
  • 深圳设计网站有限公司福建祥盛建设有限公司网站
  • 移动互联网技术网站做网站公司排名是什么
  • 张家口建设部网站ai网站设计
  • 网站开发合同编号如何编写做相册的网站(网易
  • 做外国的网站卖东西网上做网站怎么做下拉菜单
  • 免费模板网站建设Wordpress 101
  • python网站开发 完整例子淄博网站制作企业高端
  • 58同城推广网站怎么做机加工外协网站
  • 济南网站建设 泉诺杭州做网站模板
  • 免费网站建设入门国内漂亮大气的网站
  • 怎么做虚拟网站建设电影播放网站
  • 网站架构设计师有哪些学校可以报考网站的宣传方法有哪些
  • 面包屑 网站jquery 素材的网站
  • 北京网站推广seo优化汕头网站建设网站
  • 建设网站的软件下载北京想象力网站建设
  • 会所网站模板石家庄网页设计制作
  • wordpress计算器主题网络营销的seo是做什么的
  • 上海建设银行官网网站6花生壳做局域网站
  • 佛山网站设计代理商花蝴蝶高清免费看片大全
  • 洛阳青峰网络怎么做网站seo优化
  • 微网站设置花都移动网站建设
  • 网站被恶意刷流量建设网站包括哪些费用
  • 苏州营销型网站制作做广告牌子的电话
  • 用家庭宽带做网站先用ps后用dw做网站
  • 单位网站建设自查报告范文vue移动端开发
  • 泉州网站制作案例定制网站与模板网站的主要区别