• <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
            求二叉樹的最大深度,簡單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
            久久无码专区国产精品发布 | 久久66热人妻偷产精品9| 久久久久久久久久久精品尤物| 久久久久久毛片免费看| 精品久久久中文字幕人妻 | 久久黄色视频| 狠狠色婷婷久久一区二区| 91精品国产综合久久久久久| 久久久久这里只有精品 | 久久人人爽人人爽人人爽| 久久AV高清无码| 怡红院日本一道日本久久 | 麻豆一区二区99久久久久| 久久综合九色综合久99| 久久精品人人做人人爽电影| 97久久精品人人澡人人爽| 中文字幕无码av激情不卡久久| 久久精品国产91久久综合麻豆自制 | 久久久久亚洲AV成人网人人网站 | 久久亚洲私人国产精品| 久久人人爽人人精品视频| 熟妇人妻久久中文字幕| 久久久久久免费视频| 久久国产成人午夜AV影院| 97热久久免费频精品99| 婷婷伊人久久大香线蕉AV | 久久精品国产亚洲麻豆| 亚洲中文字幕无码久久2017| 一本色道久久88综合日韩精品| 亚洲国产精品婷婷久久| 精品999久久久久久中文字幕| 精品国产乱码久久久久久人妻 | 亚洲国产精品久久久久婷婷老年 | 精品99久久aaa一级毛片| 久久福利青草精品资源站| 久久99毛片免费观看不卡| 精品久久久久久国产91| 好属妞这里只有精品久久| 久久99免费视频| 久久青青草原亚洲av无码| 久久最新免费视频|