题目1
题解1
class Solution:
def minDepth(self, root: TreeNode) -> int:
if root is None:
return 0
if not root.left:
return 1 + self.minDepth(root.right)
if not root.right:
return 1 + self.minDepth(root.left)
return 1 + min(self.minDepth(root.right), self.minDepth(root.left))
附上题目链接
题目2
题解2
class Solution:
def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
if not nums:
return None
mid = len(nums)//2
root = TreeNode(nums[mid])
root.left = self.sortedArrayToBST(nums[:mid])
root.right = self.sortedArrayToBST(nums[mid+1:])
return root
附上题目链接
题目3
题解3
class Solution:
def Depth(self, root: TreeNode) -> bool:
if root is None:
return 0
return 1 + max(self.Depth(root.left),self.Depth(root.right))
def isBalanced(self, root: TreeNode) -> bool:
if root is None:
return True
if abs(self.Depth(root.left) - self.Depth(root.right)) > 1:
return False
return self.isBalanced(root.left) and self.isBalanced(root.right)
附上题目链接