• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            求二叉樹的最大深度,簡(jiǎn)單DFS/BFS

            DFS版

             1 #104
             2 #Runtime: 32 ms (Beats 40.47%)
             3 #Memory: 16 MB (Beats 56.57%)
             4 
             5 # Definition for a binary tree node.
             6 # class TreeNode(object):
             7 #     def __init__(self, val=0, left=None, right=None):
             8 #         self.val = val
             9 #         self.left = left
            10 #         self.right = right
            11 class Solution(object):
            12     max_depth = 1
            13     def DFS_Tree(self, root, depth):
            14         self.max_depth = max(self.max_depth, depth)
            15         if root.left != None:
            16             self.DFS_Tree(root.left, depth + 1)
            17         if root.right != None:
            18             self.DFS_Tree(root.right, depth + 1)
            19         return
            20     def maxDepth(self, root):
            21         """
            22         :type root: TreeNode
            23         :rtype: int
            24         """
            25         if root == None:
            26             return 0
            27         self.DFS_Tree(root, 1)
            28         return self.max_depth

            BFS版
            C++

             1 //104
             2 //Runtime: 44 ms (Beats 5.10%)
             3 
             4 /**
             5  * Definition for binary tree
             6  * struct TreeNode {
             7  *     int val;
             8  *     TreeNode *left;
             9  *     TreeNode *right;
            10  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
            11  * };
            12  */
            13 class Solution {
            14 public:
            15     struct Que {
            16         TreeNode *pt;
            17         int depth;
            18     }que[10010];
            19     int maxDepth(TreeNode *root) {
            20         if(root == NULL) return 0;
            21         int l = 0, r = 1;
            22         que[0].pt = root;
            23         que[0].depth = 1;
            24         while(l < r) {
            25             TreeNode *tp = que[l].pt;
            26             if(tp->left != NULL) {
            27                 que[r].pt = tp->left;
            28                 que[r].depth = que[l].depth + 1;
            29                 ++r;
            30             }
            31             if(tp->right != NULL) {
            32                 que[r].pt = tp->right;
            33                 que[r].depth = que[l].depth + 1;
            34                 ++r;
            35             }
            36             ++l;
            37         }
            38         return que[r - 1].depth;
            39     }
            40 };

            Python

             1 #104
             2 #Runtime: 27 ms (Beats 71.22%)
             3 #Memory: 16.2 MB (Beats 37.34%)
             4 
             5 # Definition for a binary tree node.
             6 # class TreeNode(object):
             7 #     def __init__(self, val=0, left=None, right=None):
             8 #         self.val = val
             9 #         self.left = left
            10 #         self.right = right
            11 class Solution(object):
            12     def maxDepth(self, root):
            13         """
            14         :type root: TreeNode
            15         :rtype: int
            16         """
            17         ans = 0
            18         if root:
            19             q = deque([(root, 1)])
            20             while q:
            21                 node, dep = q.popleft()
            22                 ans = max(ans, dep)
            23                 if node.left:
            24                     q.append((node.left, dep + 1))
            25                 if node.right:
            26                     q.append((node.right, dep + 1))
            27         return ans
            国产精品久久亚洲不卡动漫| 亚洲一区中文字幕久久| 思思久久好好热精品国产| 久久精品国产乱子伦| 99久久99久久| 国内精品久久久久影院亚洲| 久久国产精品久久久| 久久久黄色大片| 色综合合久久天天综合绕视看| 亚州日韩精品专区久久久| 久久精品中文字幕无码绿巨人| 精品国产婷婷久久久| 精品久久久久久无码专区不卡| 久久精品无码专区免费| 国产精品久久久亚洲| 久久久久亚洲av综合波多野结衣| 99热成人精品热久久669| 99久久国产亚洲综合精品| 成人精品一区二区久久久| 久久久久亚洲精品无码蜜桃| 久久99这里只有精品国产| 久久精品这里只有精99品| 久久66热人妻偷产精品9| 久久国产欧美日韩精品| 要久久爱在线免费观看| 久久久久亚洲精品男人的天堂| 精品久久8x国产免费观看| 色欲久久久天天天综合网精品| 青青青青久久精品国产h久久精品五福影院1421 | 久久精品国产亚洲77777| 久久久久亚洲?V成人无码| 91精品国产91久久久久久蜜臀| 色欲av伊人久久大香线蕉影院| 色综合久久天天综线观看| 久久久久亚洲AV无码去区首| 国产成人久久精品麻豆一区| 一本久久a久久精品综合夜夜 | 久久99精品国产麻豆蜜芽| 99久久精品国产综合一区| 久久亚洲国产中v天仙www | 综合久久精品色|