Я пытаюсь перевернуть связанный список, возвращая перевернутый список.
typedef struct lligada
{
int valor;
struct lligada *prox;
} *LInt;
Это моя функция:
LInt reverseL (LInt l){
LInt aux = malloc (sizeof(struct lligada));
if(l != NULL){
while( l -> prox != NULL){
aux = l-> prox;
aux -> prox = l;
l = l-> prox;
}
}
else return NULL;
return aux;
}
Можете ли вы помочь мне, пожалуйста?
Я пытался сделать это:
if(l != NULL){
if(l -> prox == NULL) {
aux = l;
}
else{
while( l -> prox != NULL){
aux = l-> prox;
aux -> prox = l;
l = l-> prox;
}
aux -> prox = l;
}
}
Это хорошая идея?