leetcode530 二叉树的最小绝对差
题目非常简单,之所以记录一下是因为总是忽略中序遍历的特性:排序二叉树中序遍历会得到一个有序数组。该特性很实用也很神奇,就像一颗满二叉排序树的根节点必然是对应有序数组的中点一样。该特性可以帮助我们更好的理解排序树的结构。
List<Integer> re=new LinkedList<Integer>(); int min=Integer.MAX_VALUE; public int getMinimumDifference(TreeNode root) { if(root==null){return 0;} scan(root); int length=re.size(); if(length==1){return 0;} for(int i=1;i<re.size();i++){ int temp=re.get(i)-re.get(i-1); min=Math.min(temp,min); } return min; } public void scan(TreeNode node){ if(node.left!=null){ scan(node.left); } re.add(node.val); if(node.right!=null){ scan(node.right); } }
当你看清人们的真相,于是你知道了,你可以忍受孤独