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(遞歸)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.