LeetCode-Python-783. ツリーノードの最小距離を検索するには
二叉探索ツリーのルートノード
例:
注意:二叉木の大きさは ツリーは常に有効であり、各ノードの値は整数であり、繰り返しません.
考え方:
LeetCode-Python-530と二叉探索ツリーの最小絶対差はそっくりです.
BST中シーケンスを用いて昇順の性質探索を遍歴した.
root
が与えられ、ツリー内の任意の2つのノードの差の最小値が返される.例:
: root = [4,2,6,1,3,null,null]
: 1
:
,root (TreeNode object), 。
[4,2,6,1,3,null,null] :
4
/ \
2 6
/ \
1 3
1, 1 2 , 3 2 。
注意:
2
〜100
の範囲である.考え方:
LeetCode-Python-530と二叉探索ツリーの最小絶対差はそっくりです.
BST中シーケンスを用いて昇順の性質探索を遍歴した.
class Solution(object):
def minDiffInBST(self, root):
"""
:type root: TreeNode
:rtype: int
"""
def inorder(node):
if not node:
return []
return inorder(node.left) + [node.val] + inorder(node.right)
res = 999999
l = inorder(root)
for i in range(1, len(l)):
res = min(res, l[i] - l[i - 1])
return res