【劍指offer】二叉樹的深度
阿新 • • 發佈:2018-12-11
層次遍歷
執行時間:28ms
佔用記憶體:5752k
# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def TreeDepth(self, pRoot): # write code here # 層次遍歷到最底層 if not pRoot: return 0 node = [pRoot] cnt = 0 while (node): temp = [] for i in node: if i.left: temp.append(i.left) if i.right: temp.append(i.right) node = temp cnt += 1 return cnt
--------------------------------
遞迴寫法
執行時間:37ms
佔用記憶體:5688k
# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def TreeDepth(self, pRoot): # write code here if not pRoot: return 0 return max(1+self.TreeDepth(pRoot.left),1+self.TreeDepth(pRoot.right))