// 給一個鏈表 list 將 list 倒置
// 有很多種做法
// 1 遞歸 (速度最慢)
// 2 用個棧 (速度慢)
// 3 三個指針遍歷 (大部分的做法)
//
// 具體就是一個 node*的數組 有三個元素
// 每次都將 a[1]的放入a[0] a[2]的放入a[1] a[2]->next放入a[2]
// 再將a[1]->next = a[0];
//
void resv_Linklist(Node* head)
{
Node* a[3];
a[0] = a[1] = NULL;
a[2] = head;
while(a[2]->next)
{
a[0] = a[1];
a[1] = a[2];
a[2] = a[2]->next;
a[1]->next = a[0];
}
*head = *(a[2]);
}