您的位置:首页 > 其它

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

2016-05-08 09:58 281 查看

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

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: