力扣530 补9.12

530.二叉搜索树的最小绝对差

可以做,就是中序遍历,把数从小到大排序,再循环找最小值。

再或者一个个遍历每个结点,把他跟父结点和爷结点比大小,更新最小值,因为要么左边要么右边跟中间节点比大小,不会让左边跟右边比大小。

class Solution {

int num=0;

int[] a=new int[10000];

int ans=100000;

public int getMinimumDifference(TreeNode root) {

if(root==null){

return 0;

}

dfs(root);

// for(int i=0;i<num;i++){

// System.out.println(a[i]);

// }

// System.out.println(num);

for(int i=0;i<num-1;i++){

ans=Math.min(a[i+1]-a[i],ans);

}

return ans;

}

void dfs(TreeNode root){

if(root==null) return;

dfs(root.left);

a[num++]=root.val;

// System.out.println(num);

dfs(root.right);

}

}

相关推荐
追随者永远是胜利者19 分钟前
(LeetCode-Hot100)169. 多数元素
java·算法·leetcode·go
s砚山s27 分钟前
代码随想录刷题——二叉树篇(二十)
算法
蜜獾云30 分钟前
JAVA面试题速记-第1期-java基础
java·开发语言
百锦再1 小时前
Java中的反射机制详解:从原理到实践的全面剖析
java·开发语言·jvm·spring boot·struts·spring cloud·kafka
没有bug.的程序员1 小时前
Gradle 构建优化深度探秘:从 Java 核心到底层 Android 物理性能压榨实战指南
android·java·开发语言·分布式·缓存·gradle
童园管理札记1 小时前
【记录模板】大班科学小游戏观察记录(盐主题:《会变魔术的盐》)
经验分享·深度学习·职场和发展·学习方法·微信公众平台
-Rane1 小时前
【C++】vector
开发语言·c++·算法
tianyagukechat1 小时前
rockylinux9.5 配置IP
java·网络·tcp/ip
代码栈上的思考1 小时前
滑动窗口算法实战
算法
程序员Sonder2 小时前
黑马java----正则表达式(一文弄懂)
java·正则表达式·新人首发