分割单向链表

来源:互联网 发布:新仙女木 知乎 编辑:程序博客网 时间:2024/05/23 18:11

将一个单向链表分成两部分,如果节点总数为奇数,则第一部分比第二部分的节点数多一。如1,2,3,4,5分割为1,2,3 和4,5。


void FrontBackSplit(Node *head, Node **front, Node **back){    if (NULL == head){return;}Node *p = head;Node *q = head;Node *lastOfFront = NULL;while (p != NULL){lastOfFront = q;q = q->next;p = p->next != NULL? p->next->next : NULL;}lastOfFront->next = NULL;*front = head;*back = q;}



原创粉丝点击