二叉树的高度
本文算法使用python3实现
1. 问题
求解二叉树的高度。
2 思路描述
方法一:利用层次遍历来求解二叉树的高度。(如果懂如何进行BFS就容易明白此种方法)
方法二:利用递归求二叉树高度。
3 程序代码:
(1)方法一
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
(2)方法二
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