亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

二叉搜索樹與雙向鏈表

發布時間:2020-07-20 17:12:06 來源:網絡 閱讀:248 作者:qdqade 欄目:開發技術

輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。


二叉搜索樹的中序遍歷即是有序的,中序遍歷同時轉變即可,

轉換左子樹,左子樹最右邊,為左子樹有序的最后一個節點為lastnode,

root->left=lastnode

如果lastnode非空,lastnode->right=root;

右樹非空,轉換之。


最后,原根節點指向的是序列中間,需要返回鏈表頭,可以往前遍歷即可。


 void ConvertCore(TreeNode *root,TreeNode *&lastnode){

        if(root==NULL)

            return;

        

        if(root->left)

            ConvertCore(root->left,lastnode);

        

        root->left=lastnode;

        if(lastnode!=NULL)

            lastnode->right=root;

        lastnode=root;

        

        if(root->right)

        ConvertCore(root->right,lastnode);

    }

    TreeNode* Convert(TreeNode* pRootOfTree)

    {

        if(pRootOfTree==NULL)

            return NULL;

        TreeNode *lastnode=NULL;

        ConvertCore(pRootOfTree,lastnode);

        

        while(lastnode->left){

            lastnode=lastnode->left;

        }

        return lastnode;

    }


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

山阳县| 原阳县| 江北区| 堆龙德庆县| 平和县| 正镶白旗| 衡山县| 宜丰县| 商丘市| 交口县| 贡嘎县| 望城县| 敖汉旗| 顺昌县| 乐至县| 朝阳县| 武穴市| 农安县| 江都市| 盐津县| 祁连县| 塘沽区| 长岭县| 连城县| 三亚市| 神池县| 拜泉县| 汝阳县| 十堰市| 栖霞市| 海盐县| 石台县| 怀来县| 尼勒克县| 治多县| 盐池县| 陕西省| 广东省| 巴林左旗| 温泉县| 钟祥市|