青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 15, comments - 10, trackbacks - 0, articles - 0

將排序二叉樹轉換成雙向鏈表

Posted on 2014-01-03 00:41 whspecial 閱讀(3645) 評論(0)  編輯 收藏 引用 所屬分類: 算法&&數據結構
將排序二叉樹轉化成雙向鏈表,應該是一道很常見的面試題目,網上的實現比較多,有用遞歸也有用中序遍歷法的。看到一位外國友人的實現,還是比較清晰的,思路如下:
1,如果左子樹不為null,處理左子樹
   1.a)遞歸轉化左子樹為雙向鏈表;
   1.b)找出根結點的前驅節點(是左子樹的最右的節點)
   1.c)將上一步找出的節點和根結點連接起來
2,如果右子樹不為null,處理右子樹(和上面的很類似)
   1.a)遞歸轉化右子樹為雙向鏈表;
   1.b)找出根結點的后繼節點(是右子樹的最左的節點)
   1.c)將上一步找出的節點和根結點連接起來
3,找到最左邊的節點并返回

附上國外友人的鏈接:http://www.geeksforgeeks.org/in-place-convert-a-given-binary-tree-to-doubly-linked-list/

下面是代碼實現:
bintree2listUtil函數返回的node* 是root節點,bintree2list函數返回的是頭節點
This is the core function to convert Tree to list. This function follows
  steps 1 and 2 of the above algorithm */
node* bintree2listUtil(node* root)
{
    // Base case
    if (root == NULL)
        return root;
 
    // Convert the left subtree and link to root
    if (root->left != NULL)
    {
        // Convert the left subtree
        node* left = bintree2listUtil(root->left);
 
        // Find inorder predecessor. After this loop, left
        // will point to the inorder predecessor
        for (; left->right!=NULL; left=left->right);
 
        // Make root as next of the predecessor
        left->right = root;
 
        // Make predecssor as previous of root
        root->left = left;
    }
 
    // Convert the right subtree and link to root
    if (root->right!=NULL)
    {
        // Convert the right subtree
        node* right = bintree2listUtil(root->right);
 
        // Find inorder successor. After this loop, right
        // will point to the inorder successor
        for (; right->left!=NULL; right = right->left);
 
        // Make root as previous of successor
        right->left = root;
 
        // Make successor as next of root
        root->right = right;
    }
 
    return root;
}
 
// The main function that first calls bintree2listUtil(), then follows step 3
//  of the above algorithm
node* bintree2list(node *root)
{
    // Base case
    if (root == NULL)
        return root;
 
    // Convert to DLL using bintree2listUtil()
    root = bintree2listUtil(root);
 
    // bintree2listUtil() returns root node of the converted
    // DLL.  We need pointer to the leftmost node which is
    // head of the constructed DLL, so move to the leftmost node
    while (root->left != NULL)
        root = root->left;
 
    return (root);

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲少妇最新在线视频| 亚洲精品一二三| 欧美一区二区三区在线看 | 亚洲一区二区三| 校园春色综合网| 红杏aⅴ成人免费视频| 久久亚洲私人国产精品va| 91久久精品国产91久久性色tv| 亚洲人成7777| 欧美视频一区二| 午夜精品久久久久久久蜜桃app | 99国产精品自拍| 午夜影院日韩| 在线观看亚洲视频啊啊啊啊| 欧美91大片| 一区二区三区 在线观看视频| 性欧美video另类hd性玩具| 国产一区二区中文字幕免费看| 久久一区视频| 中文一区字幕| 男同欧美伦乱| 亚洲综合日韩在线| 极品少妇一区二区三区| 欧美日韩系列| 久久理论片午夜琪琪电影网| 亚洲伦理久久| 另类av一区二区| 一区二区欧美在线| 精品成人乱色一区二区| 欧美日韩中文在线| 久久人体大胆视频| 中日韩高清电影网| 亚洲国产日韩一区| 久久久99国产精品免费| 中国女人久久久| 亚洲大胆人体视频| 国产免费亚洲高清| 欧美国产欧美综合| 久久久精彩视频| 中文精品视频一区二区在线观看| 欧美r片在线| 欧美一级片在线播放| 日韩视频一区二区在线观看 | 欧美激情亚洲国产| 久久精品国产免费看久久精品| 亚洲精品中文字幕女同| 国内精品久久久久久久97牛牛| 欧美午夜片在线观看| 嫩模写真一区二区三区三州| 欧美中文字幕久久| 亚洲一区二区三区中文字幕在线| 亚洲国产乱码最新视频| 欧美xxx成人| 老司机凹凸av亚洲导航| 久久精品国产99国产精品澳门| 亚洲天堂偷拍| 99国产麻豆精品| 亚洲国产经典视频| 在线精品一区| 精品白丝av| 好男人免费精品视频| 国产性做久久久久久| 国产精品美女久久久久久2018| 欧美激情一区二区三区四区| 欧美成人久久| 免播放器亚洲| 蜜桃久久av一区| 久久日韩精品| 免费亚洲网站| 欧美激情一区二区三区全黄| 欧美大片国产精品| 欧美日韩国产一级| 欧美日韩国产一区精品一区| 欧美日韩第一页| 欧美日韩在线综合| 国产精品成人aaaaa网站| 欧美三级免费| 国产伦精品一区二区| 国产亚洲一本大道中文在线| 国产精品一区二区三区乱码| 国产一区二区久久| 伊人男人综合视频网| 樱桃视频在线观看一区| 亚洲成色777777在线观看影院| 亚洲国产精品一区二区第四页av| 亚洲欧洲在线看| 亚洲深夜福利在线| 欧美一区二区网站| 老司机免费视频久久| 欧美国产一区二区在线观看| 亚洲另类视频| 亚洲女人天堂av| 久久综合九色综合欧美就去吻| 你懂的视频欧美| 欧美日韩在线免费观看| 国产精品一区二区三区成人| 国产一区自拍视频| 亚洲精品中文字| 午夜精彩国产免费不卡不顿大片| 久久久久久亚洲综合影院红桃| 免费观看亚洲视频大全| 亚洲精品小视频在线观看| 亚洲视频在线一区| 久久精品中文字幕一区二区三区| 欧美aⅴ一区二区三区视频| 国产精品播放| 1000部国产精品成人观看| 一级成人国产| 久久久综合免费视频| 亚洲激情视频在线播放| 亚洲欧美伊人| 欧美成人日韩| 国产欧美日韩亚洲精品| 亚洲毛片av| 久久国产精品72免费观看| 亚洲国产一二三| 香蕉久久国产| 欧美日韩精品一区二区天天拍小说| 国产精品日韩精品欧美在线| 亚洲高清影视| 久久riav二区三区| 亚洲激情精品| 久久国产精品色婷婷| 欧美系列电影免费观看| 亚洲国产片色| 欧美在线免费视屏| 亚洲日韩视频| 久久久久久一区| 国产精品综合不卡av| 9i看片成人免费高清| 毛片一区二区| 亚洲欧美在线x视频| 欧美精品一区三区| 1000部国产精品成人观看| 性做久久久久久免费观看欧美| 91久久精品日日躁夜夜躁欧美 | 麻豆国产精品一区二区三区| 国产乱子伦一区二区三区国色天香 | 欧美人成网站| 亚洲风情在线资源站| 欧美在线亚洲| 亚洲小少妇裸体bbw| 欧美久久久久久蜜桃| 亚洲国产免费| 欧美99在线视频观看| 久久激情视频| 国产原创一区二区| 欧美在线一二三区| 亚洲一级在线观看| 国产精品久久午夜夜伦鲁鲁| 一本色道久久综合亚洲二区三区| 欧美黄色日本| 另类欧美日韩国产在线| 伊人色综合久久天天| 久久久水蜜桃av免费网站| 亚洲欧美日韩国产综合精品二区| 国产精品va| 亚洲永久免费观看| 中文在线资源观看视频网站免费不卡| 欧美精品成人一区二区在线观看| 91久久中文| 亚洲欧洲在线看| 欧美日本韩国| 宅男精品视频| 亚洲视频一区在线观看| 国产精品久久二区二区| 亚洲自拍都市欧美小说| 亚洲私人黄色宅男| 国产精品亚洲аv天堂网| 欧美一区二区精品| 久久激情中文| 亚洲国产婷婷香蕉久久久久久99| 欧美激情一区在线| 欧美日韩亚洲一区在线观看| 亚洲小视频在线| 亚洲欧美日韩综合| 国语自产精品视频在线看8查询8| 久久久久国产精品一区三寸| 久久久精品网| 亚洲精品免费看| 亚洲素人一区二区| 国产真实乱偷精品视频免| 欧美大成色www永久网站婷| 欧美国产第一页| 午夜精品久久久久久久| 午夜天堂精品久久久久| 亚洲福利在线观看| 亚洲精品少妇30p| 国产精品丝袜91| 免费成人小视频| 欧美日韩免费观看中文| 性色av一区二区三区在线观看| 久久精品欧美日韩精品| 日韩一区二区精品视频| 亚洲性感激情| 亚洲国产精品电影| 正在播放日韩| 亚洲国产日韩美| 亚洲午夜久久久久久尤物| **性色生活片久久毛片|