783. Minimum Distance Between BST Nodes(递归)

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);
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值