链表逆序 和 寻找链表中间节点
已知链表的头节点为head,写一个函数把链表逆序。
void reserve(list_node* head){
     if(head == NULL)
       return 0;
     list_node* p = head;
     list_node* q = p->next;
     list_node* r = NULL;
     while(q){
        r = q->next;
        q->next = p;
        p = q;
        q = r;
   }
      head->next == NULL;
      head = p;
}
找出单链表的中间节点
list_node* findMiddleNode(list_node* head){
   if(head == NULL || head->next == NULL){
       return 0;
    }
    list_node* p = head;
    list_node* q = head; 
   while(q->next!=NULL&&q->next->next!=NULL){
    p = p->next;
    q = q ->next->next;
   }
    return p;
}
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号