LeetCode 98検証二叉探索ツリーPython
1060 ワード
2つのツリーを指定し、有効な2つのツリーであるかどうかを判断します.
二叉検索ツリーには、次のような特徴があります.ノードの左サブツリーには、現在のノードより小さい数しか含まれていません. ノードの右サブツリーには、現在のノードより大きい数しか含まれていません. すべての左サブツリーと右サブツリー自体も二叉検索ツリーである必要があります.
例1:
例2:
二叉検索ツリーには、次のような特徴があります.
例1:
:
2
/ \
1 3
: true
例2:
:
5
/ \
1 4
/ \
3 6
: false
: : [5,1,4,null,null,3,6]。
5 , 4 。
class Solution:
def isValidBST(self, root):
def inorderTraversal(root):
if root == None:
return []
res = []
res += inorderTraversal(root.left)
res.append(root.val)
res += inorderTraversal(root.right)
return res
res = inorderTraversal(root)
if res != sorted(list(set(res))): return False
return True