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

卓商网站建设电商平台排行榜

卓商网站建设,电商平台排行榜,wordpress学校管理系统,广东网站营销seo费用第一题: 原题链接:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 思路: 使用中序遍历的方式:左中右。 定义一个pre节点来存放当前节点的前一个节点。 在中序的时候处理递归逻辑: 首先先向…

第一题:

原题链接:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode)

思路:

使用中序遍历的方式:左中右。

定义一个pre节点来存放当前节点的前一个节点。

在中序的时候处理递归逻辑:

首先先向左遍历,

在中序的时候将当前节点和前一个节点的值相减取绝对值然后和res进行比较。然后pre更新为cur节点。

最后向右遍历。

代码如下:

/*** 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 getMinimumDifference(TreeNode* root) {if(root == nullptr) return 0;dfs(root);return res;}
private:int res = INT_MAX;TreeNode* pre = nullptr;void dfs(TreeNode* cur){if(cur == nullptr) return;dfs(cur -> left);if(pre != nullptr){res = min(res, abs(cur -> val - pre -> val));}pre = cur;dfs(cur -> right);return;}
};

第二题:

原题链接:501. 二叉搜索树中的众数 - 力扣(LeetCode)

思路:

使用中序遍历的方式,左中右。

定义一个pre节点来存放当前节点的前一个节点。

先向左进行遍历。

在中的时候处理逻辑:

如果pre为空的话证明当前节点是左下角的那个元素,count记录为1;

如果pre的值和cur的值相同,count++;

如果pre和cur不相等count也为1;

然后将pre更新为cur。

如果count的值和maxcount的值相等的话就将cur的值存放在res中,

如果count>maxcount的值话,则需要将res中的值全部都清空,再把cur的值存放到res中。maxcount更新为count的值。

最后向右遍历。

代码如下:

/*** 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> findMode(TreeNode* root) {if(root == nullptr) return {};dfs(root);return res;}
private:int count = 0, maxcount = 0; TreeNode* pre = nullptr;vector<int> res;void dfs(TreeNode* cur){if(cur == nullptr) return;dfs(cur -> left);if(pre == nullptr) count = 1;else if(pre -> val == cur -> val){count++;}else{count = 1;}pre = cur;if(count == maxcount) res.push_back(cur -> val);if(count > maxcount){maxcount = count;res.clear();res.push_back(cur -> val);}dfs(cur -> right);return;}
};

第三题:

原题链接:236. 二叉树的最近公共祖先 - 力扣(LeetCode)

思路:

递归的终止条件:

如果root == null || root == p || root == q,都返回root;

本题使用后序遍历的方式,遍历到最后然后向上返回结果。

新建一个left节点来接收向左递归的结果,

新建一个right节点来接收向右递归的结果;

中:

如果left为空right不为空则返回right;

如果left不为空right为空则返回left;

如果left和right都不为空则返回root;

以上都不是则返回null;

代码如下:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if(root == NULL) return NULL;if(root == p || root == q) return root;TreeNode* left = lowestCommonAncestor(root -> left, p, q);TreeNode* right = lowestCommonAncestor(root -> right, p, q);if(left == NULL && right != NULL) return right;if(left != NULL && right == NULL) return left;if(left != NULL && right != NULL) return root;return NULL;}
};

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

相关文章:

  • p2p网站开发用什么平台企业分类信息网
  • 深圳网站建设外包公司排名用python 做网站
  • 建一个类似亨物说网站建设费用360建设网站免费
  • 深圳宝安建网站网站建设安全方案
  • 自己的网站怎么做app如何看一个站点是不是有wordpress
  • 保定网站制作专业外贸网站关键词
  • 公司网站设计建议北京百度seo代理
  • 给单位做网站需要多少钱帮做网站的网站
  • Paas网站建设网站备案填写电话号码
  • 做网站 南京如何在网上建立自己的网站
  • 中英文公司网站网络营销的相关知识
  • 嘉兴 网站 建设一亩田的网络营销方式
  • 信息发布网站模板下载监理网站建设价格多少
  • 网站开发 营业执照西城网站建设浩森宇特
  • 网站建设合同验收标准云匠网接单能信吗
  • 苏州网站建设网站优化3合1网站建设价格
  • 做网站备案要多久重庆市做网站的公司
  • 长春建站小程序怎么做成链接
  • 游戏制作流程合肥网站搜索优化
  • 做网站界面需要注意什么做网站要固定ip
  • 做企业专业网站一般要多少钱西安旅游必去景点推荐
  • com网站怎么注册织梦 手机网站
  • 阿里云做网站视频无法播放办公网络建设项目商务要求
  • 网站开发职业生涯规划书石家庄建设项目公示网
  • 阳明拍卖公司网站网络营销方式与工具有哪些
  • 网站备案名称更改高清设计网站推荐
  • 网站开发的公司名称中国商业网官网
  • 哪些公司网站建设好视频网站建设流程
  • 免费flash网站模板带后台微盟商户助手
  • 加强理想信念教育主题网站建设闲置物品交易网站怎么做