zoukankan      html  css  js  c++  java
  • 剑指offer25-二叉搜索树与双向链表

    输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

    思路:中序遍历二叉搜索树递归与非递归方式

        TreeNode* Convert(TreeNode* pRootOfTree)
        {
            //中序遍历
            //left指向前一个节点,right指向后一个节点
            //非递归
            if(pRootOfTree==NULL) return pRootOfTree;
            TreeNode*p,*pre,*proot;
            stack<TreeNode*>st;
            bool flag=false;
            p=pRootOfTree;
            do{
                while(p!=NULL)
                {
                    st.push(p);
                    p=p->left;
                }
                if(!st.empty())
                {
                    p=st.top();
                    if(pre!=NULL)
                    {
                        p->left=pre;
                        pre->right=p;
                    }
                    pre=p;
                    if(!flag)
                    {
                        proot=p;
                        flag=true;
                    }
                    st.pop();
                    //if(p->right!=NULL)
                    p=p->right;
                }
            }while(p!=NULL||!st.empty());
                return proot;
        }

    //递归

        TreeNode* Convert(TreeNode* pRootOfTree)
        {

           if(pRootOfTree==NULL)return NULL;
            TreeNode*pre=NULL,*p=pRootOfTree;
            ConvertHelper(pRootOfTree,pre);
            while(p->left!=NULL)
            {
                p=p->left;
            }
            return p;
        }
        void ConvertHelper(TreeNode* root,TreeNode*&pre)
        {
            if(root==NULL)return;
            ConvertHelper(root->left,pre);
            root->left=pre;
            if(pre)pre->right=root;
            pre=root;
            ConvertHelper(root->right,pre);
        }

  • 相关阅读:
    web开发的性能准则(减少页面加载时间方面)
    HTTP
    HTTP -- 缓存
    新的博客地址
    mongodb 的命令操作(转)
    低调的css3属性font-size-adjust
    HTML5对表单的约束验证
    clientHeight , scrollHeight , offsetHeight之间的区别及兼容方案
    关于word-break和word-wrap的使用和区别
    MongoDB
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12969675.html
Copyright © 2011-2022 走看看