[LeetCode]530. Minimum Absolute Difference in BST
来源:互联网 发布:java 设置语言环境 编辑:程序博客网 时间:2024/05/22 04:32
[LeetCode]530. Minimum Absolute Difference in BST
题目描述
思路
深搜
递归方式
固定最大右值的同时,不断更新当前值和左值
固定最小左值的同时,不断更新当前值和右值
计算差值同时维护一个最小值。
代码
#include <iostream>#include <algorithm>using namespace std;struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x): val(x), left(NULL), right(NULL){}};class Solution {public: int getMinimumDifference(TreeNode* root) { int res = INT_MAX; dfs(root, NULL, NULL, res); return res; }private: void dfs(TreeNode*root, TreeNode* minLeft, TreeNode* maxRight, int& res) { if (root == NULL) return; dfs(root->left, minLeft, root, res); dfs(root->right, root, maxRight, res); if (minLeft) res = min(res, root->val - minLeft->val); if (maxRight) res = min(res, maxRight->val - root->val); }};int main() { TreeNode* node1 = new TreeNode(236); TreeNode* node2 = new TreeNode(104); TreeNode* node3 = new TreeNode(701); TreeNode* node4 = new TreeNode(227); TreeNode* node5 = new TreeNode(911); node1->left = node2; node1->right = node3; node2->right = node4; node3->right = node5; Solution s; cout << s.getMinimumDifference(node1) << endl; system("pause"); return 0;}
0 0
- Leetcode-530. Minimum Absolute Difference in BST
- 【Leetcode】530. Minimum Absolute Difference in BST
- Leetcode 530. Minimum Absolute Difference in BST
- [leetcode] 530. Minimum Absolute Difference in BST
- LeetCode-530. Minimum Absolute Difference in BST
- LeetCode 530. Minimum Absolute Difference in BST
- [LeetCode]530. Minimum Absolute Difference in BST
- LeetCode | 530. Minimum Absolute Difference in BST
- leetcode 530. Minimum Absolute Difference in BST
- [leetcode]-530. Minimum Absolute Difference in BST
- [LeetCode]530. Minimum Absolute Difference in BST
- [leetcode]: 530. Minimum Absolute Difference in BST
- leetcode-530. Minimum Absolute Difference in BST
- leetcode 530. Minimum Absolute Difference in BST
- LeetCode 530. Minimum Absolute Difference in BST
- [LeetCode] 530. Minimum Absolute Difference in BST
- leetcode-530. Minimum Absolute Difference in BST
- leetcode 530. Minimum Absolute Difference in BST
- input[type='number']中去掉右边上下箭头,并禁用滚动加减
- form 表单提交
- 蜂鸣器
- shader实例水(反射,法线,透明)
- ES6 exports import 用法
- [LeetCode]530. Minimum Absolute Difference in BST
- 几款android安全测试工具
- Android利用自定义View实现简单的足球战术板
- Java内存分配与回收原理
- 可以打印快递电子面单的表格
- Android AOA协议Android端 流程总结
- Hibernate 使用Disjunction动态添加查询条件
- 抓取程序端口号http://localhost:12345
- struts2的配置二——annotation的配置