package Recursion;
public class MinDiffInBST_783 {
// 783. Minimum Distance Between BST Nodes
/*
* Given a Binary Search Tree (BST) with the root node root, return the minimum
* difference between the values of any two different nodes in the tree.
*
* Example :
*
* Input: root = [4,2,6,1,3,null,null] Output: 1 Explanation: Note that root is
* a TreeNode object, not an array.
*
* The given tree [4,2,6,1,3,null,null] is represented by the following diagram:
*
* 4 / \ 2 6 / \ 1 3
*
* while the minimum difference in this tree is 1, it occurs between node 1 and
* node 2, also between node 3 and node 2.
*
* Note:
*
* The size of the BST will be between 2 and 100. The BST is always valid, each
* node's value is an integer, and each node's value is different.
*
* 来源:力扣(LeetCode)
* 链接:https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes
* 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
*/
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
int last=Integer.MAX_VALUE;
int min=Integer.MAX_VALUE;
public int minDiffInBST(TreeNode root) {
recur(root);
return min;
}
private void recur(TreeNode root) {
if (root != null) {
recur(root.left);
min=Math.min(Math.abs(last-root.val), min);
last=root.val;
recur(root.right);
}
}
}
783. Minimum Distance Between BST Nodes(递归)
最新推荐文章于 2023-04-19 02:13:19 发布