https://leetcode.com/problems/minimum-distance-between-bst-nodes/description/
/** * 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: int res = INT_MAX; int minDiffInBST(TreeNode* root) { dfs(root); return res; } TreeNode* dfs(TreeNode* root, TreeNode* pre = NULL) { if (root == NULL) return NULL; if (root->left) { TreeNode* leftLast = dfs(root->left, pre); res = min(res, root->val - leftLast->val); } else if (pre != NULL) { res = min(res, root->val - pre->val); } if (root->right) { return dfs(root->right, root); } return root; } };
本文介绍了一个LeetCode上的问题——如何找到二叉搜索树中两个节点之间的最小差值,并提供了一种解决方案,通过深度优先搜索遍历树并计算相邻节点间的最小差值。
246

被折叠的 条评论
为什么被折叠?



