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;
}

最新文章

  1. iframe多层嵌套时获取元素总结
  2. 安装学习nginx记录
  3. Numpy Study 1
  4. web_submit_data函数上传图片
  5. JSONModel 嵌套字典数组 JSONModel nest NSDictionary NSArray
  6. Java面试必备知识2
  7. UITableView beginUpdate和endUpdate使用的前提
  8. (原).cc 和 .cpp 后缀结尾的文件的区别
  9. docker 导入下载模板
  10. 【LeetCode】3Sum 解决报告
  11. 查看提交历史(git log)
  12. sql取整数
  13. JavaList列表的一些方法
  14. Win7下,nginx默认80端口被System占用,造成nginx启动报错
  15. Python_内置函数之zip
  16. jquery+ajax无刷新加载数据,新闻浏览更多
  17. jquery实现星级评分
  18. sqlalchemy 和 django 插入操作后自动返回自增ID
  19. Java——文件及目录File操作
  20. Eclipse连接MuMu模拟器 方便 测试 查日志

热门文章

  1. 51NOD 区间的价值 V2
  2. (转)nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录
  3. (转)Linux下java进程CPU占用率高-分析方法
  4. Ubuntu下安装Yarm-PM2
  5. 优化vue-cli构建的文件体积
  6. 解决mysql本地数据库不能用ip访问的问题
  7. marquee标签(跑马灯)
  8. JAVA代码之斗地主发牌
  9. To the world you may be one person, but to one person you may be the world.
  10. LR脚本示例之常用函数