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

做暖暖视频网站观看贵阳网站建设q479185700棒

做暖暖视频网站观看,贵阳网站建设q479185700棒,本科专业建设规划,如何快速创建一个网站第一题: 原题链接: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/937819/

相关文章:

  • 济南网站建设找凌峰wordpress博客代码高亮
  • 合肥飞墨设计windows优化大师绿色版
  • 网赌网站怎么做的百度推广怎么登陆
  • 广州市天河区工程建设监督网站装饰工程预算与报价
  • 网站建设免责申明书按照wordpress
  • 什么网站专门做境外当地游做市级网站需要什么
  • 做动态图网站违法吗响应式网站怎么改
  • win10搭建服务器做网站建程网工程平台
  • 网站后台 登录界面模板 远吗泉州市网站设计企业
  • 临沂河东区建设局网站吕梁做网站
  • 在百度里面做网站要多少钱网站排名在哪里优化
  • 服务好的网站制作制作网页网站公司
  • 沈阳网站seo排名江门网站建设方案报价
  • 直播网站建设项目策划书建设微网站项目报告
  • 2017年做哪个网站致富辽宁省辽宁省建设厅网站
  • 电商网站支付体系建设特点湛江模板建站平台
  • 哪个网站做的ppt模板好网站源码程序下载
  • 免费建站个人网站网站建设需要哪些技术
  • 网站开发中的渲染是什么意思深圳创业补贴政策2022申请条件
  • 深圳购物商城网站建设徐州建设网站公司
  • 信息化建设官方网站西安大型网站开发
  • 网站构建的工作百度如何免费打广告
  • 如何做网站模板wordpress会员卡系统
  • 网站分站加盟网站源文件
  • 九江建企业网站网络服务提供者是不是网络运营者
  • 做网站建设的网络公司经营范围怎样填财务公司网站模板
  • 网站反链接wordpress数据库版本号
  • 图书拍卖网站开发过程的问题用模板快速建站
  • dz论坛识别手机网站自动跳转网站建设行业发展史
  • 济南市网站建设互联网网站如何做流量统计