• <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

            [LeetCode]Reorder List-2014.01.06

            Posted on 2014-01-11 02:03 Uriel 閱讀(145) 評(píng)論(0)  編輯 收藏 引用 所屬分類: LeetCode
            這題一開始一直RE,快搞吐了,因?yàn)閯偳蠰eetCode,竟然木有看懂掛的那組case是空鏈表的意思...囧rz
            這題是要求把L0L1→…→Ln-1Ln這樣的鏈表改為這樣:L0LnL1Ln-1L2Ln-2→…但是不能直接修改鏈表節(jié)點(diǎn)值【也就是說只能改指針
            我的方法是DFS遍歷鏈表,設(shè)三個(gè)指針,DFS時(shí)p1不斷指向next,p2是p1的pre節(jié)點(diǎn),然后DFS到鏈表尾之后每return一次就處理一個(gè),同時(shí)p3從頭開始向后遍歷,這樣做完一遍就搞定了~
            一開始沒明白題意,以為是要輸出這樣處理之后的鏈表的值,然后一直TLE,其實(shí)是啥也不要輸出...=,=
            話說C++太弱,LeetCode這樣的代碼還不是很會(huì),還要多寫寫...

             1 /**
             2  * Definition for singly-linked list.
             3  * struct ListNode {
             4  *     int val;
             5  *     ListNode *next;
             6  *     ListNode(int x) : val(x), next(NULL) {}
             7  * };
             8  */
             9  
            10 int cnt, nt;
            11 ListNode *p3;
            12     
            13 class Solution {
            14 public:
            15     void DFS(ListNode *p1, ListNode *p2) {
            16         if(p1->next != NULL) {
            17             cnt++;
            18             DFS(p1->next, p2->next);
            19         }
            20         if(nt < cnt) {
            21             //cout << p3->val << endl;
            22             nt++;
            23             if(nt < cnt) {
            24                 //cout << p1->val << endl;
            25                 nt++;
            26             }
            27             if(nt == cnt) return;
            28             p1->next = p3->next;
            29             p2->next = NULL;
            30             p3->next = p1;
            31             p3 = p3->next->next;
            32         }
            33     }
            34     void reorderList(ListNode *head) {
            35         if(head == NULL) return;
            36         if(head->next == NULL) {
            37             //cout << head->val << endl;
            38             return;
            39         }
            40         p3 = head;
            41         cnt = 2;
            42         nt = 0;
            43         DFS(head->next, head);
            44     }
            45 };


            久久婷婷是五月综合色狠狠| 久久精品国产亚洲7777| 色婷婷久久久SWAG精品| 精品久久人人做人人爽综合| 国产AV影片久久久久久| 久久se精品一区二区影院| 狠狠色丁香婷婷久久综合五月| 亚洲va久久久噜噜噜久久天堂 | 亚洲午夜久久久影院伊人| 午夜精品久久久久久久久| 久久综合久久综合久久| 久久综合亚洲色HEZYO社区 | 日批日出水久久亚洲精品tv| 久久亚洲精品成人AV| 亚洲精品乱码久久久久久蜜桃| 久久婷婷五月综合色高清| 久久久噜噜噜久久| AV色综合久久天堂AV色综合在| 久久夜色精品国产噜噜亚洲a| 久久精品黄AA片一区二区三区 | 亚洲人成伊人成综合网久久久| 精品久久久无码中文字幕| 久久精品国产乱子伦| 久久久久亚洲AV成人网人人网站 | 国产A三级久久精品| 久久久久久A亚洲欧洲AV冫| 91精品国产高清久久久久久io | 久久人人爽人人爽人人片AV高清| 日本精品久久久中文字幕| 精品人妻久久久久久888| 欧美激情一区二区久久久| 久久久久久亚洲精品不卡| 99精品伊人久久久大香线蕉| 国产精品久久国产精麻豆99网站| 久久婷婷人人澡人人爽人人爱| 亚洲第一永久AV网站久久精品男人的天堂AV| 亚洲国产成人久久综合碰碰动漫3d| 久久综合久久自在自线精品自| 亚洲午夜无码久久久久| 久久精品国产亚洲av高清漫画 | 国产精品久久久久天天影视 |