类型:树
-
- 二叉搜索树节点最小距离 💚
https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/
❓ 给你一个二叉搜索树,返回树中两个不同结点差值的最小值。
💡 中序遍历
搜索树中序遍历之后就得到了升序排列的数组,然后遍历数组,计算所有相邻元素差值,返回其中最小值。
class Solution: def minDiffInBST(self, root: TreeNode) -> int: if not root: return 0 inorderArr = [] def inorderTraverse(node): if not node: return inorderTraverse(node.left) inorderArr.append(node.val) inorderTraverse(node.right) inorderTraverse(root) return min(inorderArr[i + 1] - inorderArr[i] for i in range(len(inorderArr) - 1))时间复杂度:O(n),空间复杂度:O(n)