• <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
            二叉樹層序遍歷,輸出時(shí)每一層的節(jié)點(diǎn)值要分開存,按第N、N-1、N-2...二、一層的順序

            Python BFS版(BFS的時(shí)候按層數(shù)升序記錄,最后列表反轉(zhuǎn)一下)

             1 #107
             2 #Runtime: 19 ms
             3 #Memory Usage: 13.8 MB
             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 levelOrderBottom(self, root):
            13         """
            14         :type root: TreeNode
            15         :rtype: List[List[int]]
            16         """
            17         if not root:
            18             return []
            19         q = []
            20         ans = []
            21         q.append(root)
            22         ans.append([root.val])
            23         while q:
            24             sz = len(q)
            25             ans.append([])
            26             for i in range(sz):
            27                 if q[0].left:
            28                     q.append(q[0].left)
            29                     ans[-1].append(q[0].left.val)
            30                 if q[0].right:
            31                     q.append(q[0].right)
            32                     ans[-1].append(q[0].right.val)
            33                 q.pop(0)
            34             if not ans[-1]:
            35                 ans.pop(-1)
            36         ans.reverse()
            37         return ans

            Python DFS版(DFS的時(shí)候記錄當(dāng)前層數(shù),最后列表反轉(zhuǎn)一下)

             1 #107
             2 #Runtime: 26 ms
             3 #Memory Usage: 14.1 MB
             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 DFS(self, r, ans, depth):
            13         if not r:
            14             return
            15         while len(ans) < depth + 1:
            16             ans.append([])
            17         ans[depth].append(r.val)
            18         self.DFS(r.left, ans, depth + 1)
            19         self.DFS(r.right, ans, depth + 1)
            20         return ans[::-1]
            21     
            22     def levelOrderBottom(self, root):
            23         """
            24         :type root: TreeNode
            25         :rtype: List[List[int]]
            26         """
            27         return self.DFS(root, [], 0)

            CPP版

             1 //107
             2 //Runtime: 40 ms
             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     vector<vector<int> > levelOrderBottom(TreeNode *root) {
            20         vector<vector<int> > res, ans;
            21         if(root == NULL) return res;
            22         int l = 0, r = 1, tdepth = 0;
            23         que[0].pt = root;
            24         que[0].depth = 0;
            25         vector<int> tres;
            26         tres.push_back(root->val);
            27         res.push_back(tres);
            28         tres.clear();
            29         while(l < r) {
            30             TreeNode *tp = que[l].pt;
            31             if(tdepth < que[l].depth) {
            32                 res.push_back(tres);
            33                 tres.clear();
            34             }
            35             if(tp->left != NULL) {
            36                 que[r].pt = tp->left;
            37                 que[r].depth = que[l].depth + 1;
            38                 tres.push_back(tp->left->val);
            39                 ++r;
            40             }
            41             if(tp->right != NULL) {
            42                 que[r].pt = tp->right;
            43                 que[r].depth = que[l].depth + 1;
            44                 tres.push_back(tp->right->val);
            45                 ++r;
            46             }
            47             tdepth = que[l].depth;
            48             ++l;
            49         }
            50         if(!tres.empty()) res.push_back(tres);
            51         for(int i = res.size() - 1; i >= 0; --i) ans.push_back(res[i]);
            52         return ans;
            53     }
            54 };
            97久久婷婷五月综合色d啪蜜芽| 色欲综合久久中文字幕网| 久久香蕉国产线看观看乱码| 国产午夜免费高清久久影院| AV色综合久久天堂AV色综合在| 成人国内精品久久久久一区| 国产精品久久久福利| 久久久久久国产精品无码下载| 99久久这里只精品国产免费 | 性欧美丰满熟妇XXXX性久久久| 无码人妻久久一区二区三区免费丨| 久久丫精品国产亚洲av| 国内精品久久久久久久影视麻豆| 伊人久久大香线蕉综合热线| 久久久久久久人妻无码中文字幕爆| 99久久精品九九亚洲精品| 亚洲人成精品久久久久| 激情五月综合综合久久69| 亚洲精品蜜桃久久久久久| 国产成人香蕉久久久久| 久久人人爽人人爽人人AV| 欧美精品丝袜久久久中文字幕 | 久久人人爽人人爽人人AV东京热| 久久久久国产成人精品亚洲午夜| 亚洲午夜久久久久妓女影院| 久久99久久成人免费播放| 久久99国产精品一区二区| 伊人久久精品无码二区麻豆| 亚洲国产成人久久综合区| 国产高潮国产高潮久久久91| 久久精品国产99久久无毒不卡| 性做久久久久久久久久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 国内精品综合久久久40p| 无码任你躁久久久久久| 欧美精品丝袜久久久中文字幕| 91精品免费久久久久久久久| 狠狠色丁香久久综合五月| 精品久久久久久久| 国产精品久久久久…| 国产精品无码久久综合网|