本文主要是介绍*Leetcode 783. Minimum Distance Between BST Nodes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://leetcode.com/problems/minimum-distance-between-bst-nodes/description/
一个点:BST的性质是,如果中序遍历,能直接得到排序后的结果。所以中序遍历,然后记录上次遍历的值就行。
主要还是怎么把代码写的好看的问题。
class Solution {
public:int dfs(TreeNode* root, int &last_v) {int ans = INT_MAX/2;if (root->left) {ans = min(ans, dfs(root->left, last_v));}ans = min( ans, root->val - last_v);last_v = root->val;if (root->right) {ans = min(ans, dfs(root->right, last_v));}return ans;}int minDiffInBST(TreeNode* root) {int v = INT_MIN/2;return dfs(root, v);}
};
这篇关于*Leetcode 783. Minimum Distance Between BST Nodes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!