题目1
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b40e1d76b3e7752847000735abc24764.png)
题解1
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
Nodes = []
subList = []
if root is None:
return Nodes
else:
cNodeList = [root]
nNodeList = []
while True:
if cNodeList:
node = cNodeList.pop(0)
subList.append(node.val)
if node.left and node.right:
nNodeList.append(node.left)
nNodeList.append(node.right)
elif node.left:
nNodeList.append(node.left)
elif node.right:
nNodeList.append(node.right)
else:
pass
else:
Nodes.insert(0,subList[:])
subList = []
if nNodeList:
cNodeList = nNodeList[:]
nNodeList = []
else:
break
return Nodes
题目2
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/73e2b528869f1f71888c605ce6dcc4ac.png)
题解2
class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
if root is None:
return True
else:
return self.Symmetric(root.left,root.right)
def Symmetric(self, lNode: TreeNode, rNode: TreeNode) -> bool:
if lNode is None and rNode is None:
return True
elif lNode and rNode and lNode.val == rNode.val:
return self.Symmetric(lNode.right, rNode.left) and self.Symmetric(lNode.left, rNode.right)
else:
return False
题目3
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/413854251ab06921fddf7b5919ef03e4.png)
题解3
class Solution:
def maxDepth(self, root: TreeNode) -> int:
if root is None:
return 0
else:
return 1 + max(self.maxDepth(root.left), self.maxDepth(root.right))