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

做淘客网站怎么样h5开发和前端开发区别

做淘客网站怎么样,h5开发和前端开发区别,如何自己搞个网络商城,公司收购这道题直接用最笨的办法来做的&#xff0c;用递归来做&#xff0c;我们定义一个全局变量vector<int> element&#xff0c;然后使用中序遍历&#xff0c;每当碰到一个非空节点就将其加入到向量中&#xff0c;这样依赖当向量中的元素小于k时&#xff0c;就返回0&#xff0c…


这道题直接用最笨的办法来做的,用递归来做,我们定义一个全局变量vector<int> element,然后使用中序遍历,每当碰到一个非空节点就将其加入到向量中,这样依赖当向量中的元素小于k时,就返回0,否则返回element[k - 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> element{};int kthSmallest(TreeNode* root, int k) {//中序遍历//遇到空节点返回0if(!root) return 0;//左kthSmallest(root -> left, k);//中element.emplace_back(root -> val);//右kthSmallest(root -> right, k);return element.size() >= k ? element[k - 1] : 0;}
};

看了下灵神的题解,他也是用中序遍历来做的,但是没有使用额外的vector,因为vector插入元素也是耗时的,上面的代码可以进一步优化。
由于原函数已经规定了必须要有返回值,所以我们可以自己额外定义一个没有返回值的函数,这里我们可以用lambda函数来实现。这个lambda函数主要实现递归中序遍历二叉搜索树,且可以捕捉到kthSmallest()函数的所有变量的引用,在这个lambda函数中,中间节点先将k值-1,再判断k是否减为0,若减为0则说明已经当前的节点就是所求节点,再用一个全局外部变量接收当前节点的值即可。在遍历结束后直接将这个全局外部变量返回即可。以下是优化过后的代码。

/*** 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:int result;int kthSmallest(TreeNode* root, int k) {auto dfs = [&] (this auto&& dfs, TreeNode* root) -> void{//递归终止条件if(!root || k == 0) return ;//左dfs(root -> left);//中k--;if(k == 0) result = root -> val; //找到节点,记录答案//右dfs(root -> right);};dfs(root);return result;}
};
http://www.dtcms.com/wzjs/816522.html

相关文章:

  • 业务员自己掏钱做网站可以吗已经做好的网站怎么维护
  • 浙江省建设监理协会官方网站wordpress增加用户权限
  • diy电子商城网站创建网站域名
  • 酒业为什么做网站前端和做网站
  • 微网站如何做微信支付宝支付接口网站的页面大小
  • 德阳哪里有做网站的专业建设思路与措施
  • 玄武网站建设建筑人才网官方
  • 如何搭建一个公司网站做网站的工资高
  • 怎么做监控网站关于域名和主机论坛的网站
  • 免费的微网站平面广告设计培训
  • 推广企业网站域名网络营销方法分析
  • 医疗网站源码帝国cms商城
  • 扬州广陵区城乡建设局网站怎么查询网站备案信息查询
  • 邢台企业网站制作建设wordpress 分类 文章数
  • 怎么做美瞳网站南山区住房和建设局网站
  • 山西网站推广wordpress列表页怎么加关键词
  • 常州市建设工程管理中心网站wordpress 登录 缓存
  • php mysql 企业网站源码求职网站建设方案
  • 网站建设一定要域名吗零基础学软件开发需要多久
  • 网站建设服务器篇Wordpress 百度云存储
  • 中国观鸟记录的网站架构服装设计网站大全
  • 网站建设基础流程摘要网站建设与应用岗位
  • 品牌网站排名软件饰品销售网站功能建设
  • 什么app做网站做网站最简单的方法
  • 网站demo怎么做用ai怎么做网站
  • o2o网站建设效果APP网站建设开发企业发展
  • 自己设计一个网页seo网站快速
  • 注册公司网站的费用next wordpress
  • 软件开发招标网站wordpress函数调用
  • 做微电网的公司网站wordpress内容清空