1. 程式人生 > >104 Maximum Depth of Binary Tree

104 Maximum Depth of Binary Tree

題目來源: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))) if
root else 0

 

程式碼效率/結果:
 Runtime: 48 ms, faster than 97.78% of Python3 online submissions forMaximum Depth of Binary Tree.
自己優化後的程式碼:  

                 

 
反思改進策略:

      1.map函式的使用,可以簡化程式碼、

  2.使用佇列可以更加快速