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

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>
            亚洲成人在线网| 久久午夜电影| 久久久999精品| 在线精品亚洲| 欧美精品国产| 亚洲网站在线| 久久字幕精品一区| 亚洲精品国产视频| 欧美性色视频在线| 亚洲欧美一区二区三区在线| 久久婷婷国产麻豆91天堂| 亚洲精品久久久久久下一站| 欧美视频在线观看免费| 久久精品一区二区| 亚洲欧洲精品一区二区三区 | 亚洲欧美激情一区二区| 国产欧美精品日韩| 欧美高清在线一区| 午夜精彩国产免费不卡不顿大片| 欧美成年人视频| 亚洲制服欧美中文字幕中文字幕| 国产乱码精品一区二区三| 久久青草久久| 亚洲午夜一区二区三区| 欧美成年人视频网站| 午夜精品久久久久影视| 亚洲韩国精品一区| 国产欧美日本一区二区三区| 欧美国产日韩二区| 欧美在线观看网址综合| 日韩一二三区视频| 欧美大胆a视频| 久久久久久久久久久久久久一区| 99成人精品| 在线精品视频免费观看| 国产裸体写真av一区二区| 欧美精品一区二区三区一线天视频| 性色av香蕉一区二区| 日韩亚洲不卡在线| 欧美激情成人在线| 久久免费黄色| 欧美在线一二三| 亚洲视频精选在线| 亚洲精品国产日韩| 亚洲高清一区二| 国产真实精品久久二三区| 国产精品都在这里| 欧美日韩专区| 欧美日韩精品免费在线观看视频| 噜噜爱69成人精品| 久久久久综合一区二区三区| 亚洲欧美国产精品专区久久| 国产精品99久久久久久有的能看 | 欧美一级在线视频| 中国亚洲黄色| 99精品热视频| 日韩亚洲综合在线| 亚洲精品免费网站| 亚洲人被黑人高潮完整版| 亚洲国产精品久久久久秋霞蜜臀| 国产一区香蕉久久| 国产亚洲欧美一区| 国产视频在线观看一区| 国产亚洲aⅴaaaaaa毛片| 国产精品男女猛烈高潮激情| 欧美视频日韩视频在线观看| 欧美日韩999| 欧美日韩亚洲综合在线| 欧美日韩成人综合| 欧美调教视频| 国产精品免费一区豆花| 国产精品丝袜xxxxxxx| 国产日韩一区二区| 国产小视频国产精品| 韩国三级在线一区| 在线播放日韩专区| 亚洲精品美女久久久久| 亚洲毛片一区二区| 亚洲午夜激情| 午夜宅男欧美| 久久久一二三| 亚洲高清成人| 日韩视频一区二区三区在线播放| 日韩午夜电影av| 亚洲免费视频在线观看| 欧美综合第一页| 猛干欧美女孩| 欧美日韩一区二区三区免费看 | 欧美日韩xxxxx| 国产精品久久久久久久浪潮网站| 国产美女精品免费电影| 悠悠资源网亚洲青| 日韩午夜av在线| 亚洲综合色婷婷| 久久精品国产欧美激情| 欧美电影在线观看完整版| 日韩视频免费观看| 亚洲欧美日韩国产中文| 久久久之久亚州精品露出| 欧美激情精品久久久久久| 国产精品视频精品| 黑人巨大精品欧美一区二区小视频 | 亚洲桃色在线一区| 久久精品国产精品| 亚洲二区精品| 亚洲影视在线播放| 久热这里只精品99re8久| 欧美日韩成人一区| 国产主播一区二区三区| 亚洲精品一区二区在线观看| 西瓜成人精品人成网站| 欧美电影在线免费观看网站 | 午夜视频在线观看一区二区| 久久综合激情| 国产精品嫩草影院av蜜臀| 在线观看亚洲精品| 亚洲免费影视| 欧美激情一区二区三区在线视频| 一区二区欧美激情| 免费亚洲一区| 国产乱码精品1区2区3区| 亚洲精品欧美日韩| 久久久久国产精品一区二区| 亚洲狼人综合| 久久综合狠狠| 国产欧美一区在线| 亚洲网站在线播放| 欧美国产精品va在线观看| 亚洲欧美另类久久久精品2019| 欧美精品久久一区| 尤物yw午夜国产精品视频明星| 午夜久久电影网| 99热精品在线| 欧美成人综合网站| 亚洲成人在线免费| 久久久久久久999| 亚洲小视频在线| 欧美日韩福利视频| 亚洲激情视频网| 免费成人av在线| 久久精品视频一| 国产欧美日韩综合一区在线观看 | 亚洲国产另类 国产精品国产免费| 欧美一区二区精品| 国产精品一卡| 亚洲在线一区二区| 99视频一区二区三区| 欧美极品影院| 最新日韩中文字幕| 欧美国产日韩一区二区在线观看| 欧美中文在线观看国产| 国产女主播一区| 久久国产精品久久国产精品| 亚洲视频在线观看免费| 欧美视频三区在线播放| 亚洲亚洲精品三区日韩精品在线视频 | 欧美日韩国产一级片| 亚洲美女精品一区| 亚洲国产高清aⅴ视频| 蜜桃av一区二区三区| 91久久久亚洲精品| 欧美激情中文字幕乱码免费| 另类尿喷潮videofree| 91久久精品美女| 欧美激情在线免费观看| 欧美激情导航| 99亚洲视频| 夜夜嗨av色一区二区不卡| 欧美网站在线| 欧美主播一区二区三区| 欧美一区二视频| 极品尤物av久久免费看 | 日韩亚洲欧美成人一区| 欧美午夜精品久久久久久孕妇| 亚洲一级黄色| 亚洲欧美在线免费| 激情综合中文娱乐网| 欧美国产欧美综合 | 亚洲精品一区二区三区四区高清| 亚洲二区在线观看| 欧美日韩视频在线一区二区| 午夜国产精品视频免费体验区| 翔田千里一区二区| 在线看片成人| 亚洲卡通欧美制服中文| 国产欧美日韩精品一区| 免费人成网站在线观看欧美高清| 欧美高清你懂得| 亚洲女女做受ⅹxx高潮| 久久久久高清| 中文国产一区| 欧美在线观看www| 91久久精品国产91性色 | 性欧美暴力猛交另类hd| 亚洲人www| 亚洲综合第一| 亚洲精品乱码久久久久久| 亚洲免费视频在线观看| 亚洲精品国产精品国自产观看浪潮| 一区二区日韩欧美|