- LeetCode之Minimum Absolute Differ
- [刷题防痴呆] 0530 - 二叉搜索树的最小绝对差 (Mini
- 2022-07-04 「1200. 最小绝对差」
- [LeetCode]530. Minimum Absolute
- LeetCode 1200. Minimum Absolute
- LeetCode习题解析-Minimum Time Differ
- LeetCode算法题-Minimum Absolute Dif
- LeetCode | 0530. 二叉搜索树的最小绝对差【Pyt
- LeetCode | 0783. 二叉搜索树节点最小距离【Pyt
- 1266. Minimum Time Visiting All
问题:
方法:
思路是通过中序遍历建立有序的节点list,即节点是从小到大保存在list中的。第二步通过遍历list比较相邻两个元素的diff,最后即可以输出最小的diff。
具体实现:
class MinimumAbsoluteDifferenceInBST {
class TreeNode(var `val`: Int) {
var left: TreeNode? = null
var right: TreeNode? = null
}
fun getMinimumDifference(root: TreeNode?): Int {
val list = mutableListOf<TreeNode>()
dfs(root, list)
var minDiff = Int.MAX_VALUE
for (index in 1..list.lastIndex) {
val diff = list[index].`val` - list[index - 1].`val`
if (diff < minDiff) {
minDiff = diff
}
}
return minDiff
}
private fun dfs(root: TreeNode?, list: MutableList<TreeNode>) {
if (root == null) {
return
} else {
dfs(root.left, list)
list.add(root)
dfs(root.right, list)
}
}
}
fun main(args: Array<String>) {
}
有问题随时沟通
网友评论