104 Maximum Depth of Binary Tree
阿新 • • 發佈:2018-12-24
題目來源:https://leetcode.com/problems/maximum-depth-of-binary-tree/submissions/
自我感覺難度/真實難度:easy/easy
真的是第一次完全沒有看其他參考答案,第一次寫出來,而且沒有報錯,值得慶祝一下。雖然題目很簡單,但是我在使用遞迴時,還是害怕細節出錯,ヾ(◍°∇°◍)ノ゙
題意:
求二叉樹的高度
分析:
只要遞迴下去就可以了
自己的程式碼:
# Definition for a binary tree node. # class TreeNode:# def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def maxDepth(self, root): """ :type root: TreeNode :rtype: int """ if not root: return 0 temp_left=self.maxDepth(root.left) temp_right=self.maxDepth(root.right) return max(temp_left,temp_right)+1
程式碼效率/結果:
Runtime: 72 ms, faster than 26.59% of Python3 online submissions forMaximum Depth of Binary Tree.
優秀程式碼:
def maxDepth(self, root): return 1 + max(map(self.maxDepth, (root.left, root.right))) ifroot else 0
程式碼效率/結果:
Runtime: 48 ms, faster than 97.78% of Python3 online submissions forMaximum Depth of Binary Tree.
自己優化後的程式碼:
反思改進策略:
1.map函式的使用,可以簡化程式碼、
2.使用佇列可以更加快速