530. Minimum Absolute Difference in BST

来源:互联网 发布:好听的淘宝达人名字 编辑:程序博客网 时间:2024/06/16 17:24

Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.

Example:

Input:   1    \     3    /   2Output:1Explanation:The minimum absolute difference is 1, which is the difference between 2 and 1 (or between 2 and 3).

Note: There are at least two nodes in this BST.

Subscribe to see which companies asked this question.


/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int getMinimumDifference(TreeNode root) {        Stack<TreeNode> data = new Stack<>();Integer pre = null;int min = Integer.MAX_VALUE;while (root != null || !data.isEmpty()) {while (root != null) {data.push(root);root = root.left;}root = data.pop();if(pre!=null)    min = Math.min(min, root.val - pre);pre = root.val;root = root.right;}return min;    }}


0 0
原创粉丝点击