什么叫“单链表就地逆置”?

如题所述

比如说链表
a -> b -> c -> d
表头是a,表尾是d。就地逆置的意思就是变成:
a <- b <- c <- d
a变成表尾,d变成表头

假设
struct LINK {
int value;
struct LINK * next;
};
struct LINK a, b, c, d;
a->next = &b;
b->next = &c;
c->next = &d;
d->next = 0;
逆置后:
b->next = &a;
c->next = &b;
d->next = &c;
a->next = 0;

所谓就地逆置,就是在操作中,遇到a->next = &b;的情况,那么改写为b->next = &a;
温馨提示:答案为网友推荐,仅供参考
相似回答