leetcode-17-BST
2024-08-29 00:36:50
530. Minimum Absolute Difference in BST
Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.
解题思路:
先序遍历,存下来,然后排序,找临近两个的最小差值。
效率不高。。。后面再想想怎么改进???
class Solution {
public:
int getMinimumDifference(TreeNode* root) {
get(root);
sort(nodes.begin(), nodes.end());
int Mini = abs(nodes[0]-nodes[1]);
for (int i = 1; i < nodes.size(); i++) {
Mini = min(Mini, abs(nodes[i]-nodes[i-1]));
}
return Mini;
}
void get(TreeNode* root) {
if (root)
nodes.push_back(root->val);
if (root->left)
get(root->left);
if (root->right)
get(root->right);
}
private:
vector<int> nodes; };
235. Lowest Common Ancestor of a Binary Search Tree
解题思路:
直接找。。如果p,q的值大于root,就到右子树找;如果都小于root,就到左子树找,否则返回root。
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
if (p->val < root->val && q->val < root->val)
return lowestCommonAncestor(root->left, p, q);
if (p->val > root->val && q->val > root->val)
return lowestCommonAncestor(root->right, p, q);
return root;
}
最新文章
- iframe多层嵌套时获取元素总结
- 安装学习nginx记录
- Numpy Study 1
- web_submit_data函数上传图片
- JSONModel 嵌套字典数组 JSONModel nest NSDictionary NSArray
- Java面试必备知识2
- UITableView beginUpdate和endUpdate使用的前提
- (原).cc 和 .cpp 后缀结尾的文件的区别
- docker 导入下载模板
- 【LeetCode】3Sum 解决报告
- 查看提交历史(git log)
- sql取整数
- JavaList列表的一些方法
- Win7下,nginx默认80端口被System占用,造成nginx启动报错
- Python_内置函数之zip
- jquery+ajax无刷新加载数据,新闻浏览更多
- jquery实现星级评分
- sqlalchemy 和 django 插入操作后自动返回自增ID
- Java——文件及目录File操作
- Eclipse连接MuMu模拟器 方便 测试 查日志