二叉树的高度是从root节点到leaf节点所走最长路径所包含的节点数
广度优先
class Solution: def TreeDepth(self, root): if root == None: return queue = [] depth = 0 queue.append(root) while queue: # childs保存每一层节点 childs = [] for node in queue: if node.left: childs.append(node.left) if node.right: childs.append(node.right) queue = childs depth += 1 return depth
深度优先
class Solution: def TreeDepth(self, root): if not root: return 0 left = self.TreeDepth(root.left) right = self.TreeDepth(root.right) return max(left, right) + 1