zoukankan      html  css  js  c++  java
  • 单链表反转--递归非递归

      ListNode* ReverseList(ListNode* pHead) {
           
    
            if(pHead==NULL)
                return NULL;
            if(pHead->next==NULL)
                return pHead;
           
            ListNode* preNode=pHead;
           //ListNode* ReseNode=NULL;
            ListNode* pNode=pHead->next;
            ListNode* NextNode=NULL;
            
            while(pNode->next!=NULL)
                {
                //ListNode* NextNode=pNode->next;
                //if(NextNode==NULL)
                   // ReseNode=pNode;
                NextNode=pNode->next;
                pNode->next=preNode;
                preNode=pNode;
                pNode=NextNode;
            }
            //NextNode->next=pNode;
            pHead->next = NULL;
            pNode->next=preNode;
            return pNode;
            
        }
    void ReverseList(List* list)  
    {  
        Node* p_pre = NULL;  
        Node* p_cur = NULL;  
        Node* p_nxt = NULL;  
        if(NULL == list)  
            return;  
        p_cur = (*list)->next;  
        p_pre = *list;  
        p_pre->next = NULL;  
        while(p_cur) {  
            p_nxt = p_cur->next;  
            p_cur->next = p_pre;  
            p_pre = p_cur;  
            p_cur = p_nxt;  
        }  
        *list = p_pre;  
    }  
    Node* Reverse2Point(List* head)   
    {  
        Node* p_cur = NULL;  
        Node* p_nxt = NULL;  
        if(NULL == *head)  
            return;  
        p_cur = (*head)->next;  
        (*head)->next = NULL;  
        while(p_cur) {  
            p_nxt = p_cur->next;  
            p_cur->next = *head;  
            *head = p_cur;  
            p_cur = p_nxt;  
        }  
    } 
    Node* Reverse(Node* p_cur, Node* p_pre)  
    {  
        if(NULL == p_cur->next) {  
            p_cur->next = p_pre;  
            return p_cur;  
        }  
        else {  
            Node *p_nxt = p_cur->next;  
            p_cur->next = p_pre;  
            Reverse(p_nxt, p_cur);  
        }  
    }
  • 相关阅读:
    java web(七)Cookie的简单使用
    java web(六)多个请求对应一个Servlet
    <十六>JDBC_使用 DBUtils 编写通用的DAO
    <十五>JDBC_使用 DBUtils 进行更新、查询操作
    附加作业
    第五周作业
    第八周作业
    第七周作业
    第一周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/xiaodi914/p/5796551.html
Copyright © 2011-2022 走看看