• <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
            這題拖了好幾天,一直沒(méi)想明白是啥意思,今天突然猜想到題意,竟然就過(guò)了...
            題目所說(shuō)的指向下一個(gè)右指針就是層次遍歷,找到每個(gè)節(jié)點(diǎn)同層的下一個(gè)節(jié)點(diǎn)...=,=
            于是只要層次遍歷這棵二叉樹(shù)[BFS],對(duì)每一層的節(jié)點(diǎn)用depth記錄深度,找隊(duì)列里同一層的下一個(gè)節(jié)點(diǎn)就行
            PS: 這題是Populating Next Right Pointers in Each Node的強(qiáng)化版,自然,這個(gè)代碼兩題都可AC的

             1 /**
             2  * Definition for binary tree with next pointer.
             3  * struct TreeLinkNode {
             4  *  int val;
             5  *  TreeLinkNode *left, *right, *next;
             6  *  TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {}
             7  * };
             8  */
             9  
            10 
            11  
            12 class Solution {
            13     public:
            14         struct Queue {
            15         int depth;
            16         TreeLinkNode* t;
            17     }que[100010];
            18     
            19     void connect(TreeLinkNode *root) {
            20         if(root == NULL) return;
            21         int l = 0, r = 1, k = 0, tpdepth = 0;
            22         que[0].t = root;
            23         que[0].depth = 0;
            24         while(l < r) {
            25             TreeLinkNode *tp = que[l].t;
            26             if(que[l].depth > tpdepth) {
            27                 for(;k < l - 1; ++k) {
            28                     que[k].t->next = que[k + 1].t;
            29                 }
            30                 ++k;
            31                 tpdepth++;
            32             }
            33             if(tp->left != NULL) {
            34                 que[r].t = tp->left;
            35                 que[r].depth = que[l].depth + 1;
            36                 ++r;
            37             }
            38             if(tp->right != NULL) {
            39                 que[r].t = tp->right;
            40                 que[r].depth = que[l].depth + 1;
            41                 ++r;
            42             }
            43             ++l;
            44         }
            45         for(;k < l - 1; ++k) {
            46             que[k].t->next = que[k + 1].t;
            47         }
            48     }
            49 };
            亚洲精品国精品久久99热一| 久久AⅤ人妻少妇嫩草影院| 国产免费久久精品丫丫| 久久久久久无码Av成人影院| 性做久久久久久久久老女人| 国产真实乱对白精彩久久| 精品一区二区久久久久久久网站| 久久久久久九九99精品| 国产美女久久精品香蕉69| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 欧美久久久久久午夜精品| 久久中文字幕人妻丝袜| 欧美与黑人午夜性猛交久久久| 久久久久亚洲AV无码观看| 狠狠色丁香婷婷久久综合五月| 久久久久久人妻无码| 午夜精品久久久久久毛片| 亚洲中文字幕无码久久2017| 奇米影视7777久久精品| 国产99精品久久| 久久中文字幕精品| 久久久久青草线蕉综合超碰 | 伊人久久大香线蕉av一区| 一本色综合网久久| 国内精品伊人久久久久AV影院| 国产高潮久久免费观看| 伊人伊成久久人综合网777| 日本强好片久久久久久AAA| 国产精品女同久久久久电影院| 久久成人18免费网站| 国产精品久久午夜夜伦鲁鲁| 精品久久一区二区三区| 午夜精品久久影院蜜桃| 精品无码久久久久国产| 久久久久99这里有精品10| 国产成年无码久久久免费| 国产69精品久久久久9999| 久久久久久久女国产乱让韩| 久久中文字幕视频、最近更新| 丁香五月网久久综合| 性欧美丰满熟妇XXXX性久久久|