530. Minimum Absolute Difference in BST

来源:互联网 发布:英雄联盟17173数据库 编辑:程序博客网 时间:2024/05/23 22:22

//本文内容来自StarSight,欢迎访问。


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.


/** * 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) {        List<Integer> list = new ArrayList<>();                array(root,list);                int gap = 65535,temp;        for(int i=0;i<list.size()-1;i++){            temp = list.get(i+1)-list.get(i);            if(gap>temp)                gap = temp;        }                return gap;    }        public void array(TreeNode root , List<Integer> list){        if(root.left!=null){            array(root.left,list);        }                list.add(root.val);                if(root.right!=null){            array(root.right,list);        }            }}


常规题,二叉搜索树。

运行时间20ms,50%左右。


1 0
原创粉丝点击