首页 > 其他 > 详细

链表逆序 和 寻找链表中间节点

时间:2016-05-08 10:24:48      阅读:278      评论:0      收藏:0      [点我收藏+]

已知链表的头节点为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;
}

  

链表逆序 和 寻找链表中间节点

原文:http://www.cnblogs.com/zqlmmd/p/5469855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!