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);
        }

  • 相关阅读:
    创造别人想要的东西(2)----创业15问
    创造别人想要的东西(1)----创业的本质
    有点迷茫
    普林斯顿大学算法公开课(1)----介绍
    工业控制系统信息安全与信息安全、功能安全的区别【转自工控工程网】
    十条概念区分信息安全与隐私保护【转自安全牛】
    NBT(NetBIOS Over TCP)名称解析概述
    SMB协议概述
    PCI DSS合规建设ASV扫描介绍
    信息安全等级测评师(初级 技术)
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12969675.html
Copyright © 2011-2022 走看看