我想像这样进行单链表操作:源列表[1-> 2-> 3-> 4-> 5-> 6],结果应为[2-> 1] - 将4-> 3→6-→5]。基本上我需要交换奇数和偶数链接位置。任何帮助将不胜感激
list * odd_even_swap(list *head)
{
list * prev, *next, *temp;
if(head && head->next) {
prev = head;
next = head->next;
head = next;
} else {
return NULL;
}
while(next) {
temp = next->next;
prev->next = temp;
next->next = prev;
next = temp;
}
return head;
}
输入:1-> 2-> 3-> 4-> 5-> 6 我得到的输出是:2-> 1>