이 질문은 아마도 가장 인기있는 질문 중 하나이며 솔루션을 검색하는 동안 많은 것을 발견했지만 아래 코드가 가장 적합했습니다.연결된 목록 반전에서 한 줄을 변경하면 오류가 발생합니다.
실제로 실제로하는 일은 다른 목록을 만들고 이전 목록을 반복하고 항상 새 목록의 머리에 요소를 추가하는 것입니다. 이 코드를 보지 않고이 아이디어를 다시 구현하기로 결정
Node *reverseList(Node *oldList)
{
Node* newList=NULL;
while(oldList!=NULL)
{
Node *temp=oldList;
oldList=oldList->next;
temp->next=newList;
newList=temp;
}
return newList;
}
그러나 나는 oldList=oldList->next;
의 변경된 장소를했습니다 그것은 내 질문은 newList=temp.
후 정말 달라 지나요됩니다 넣어? 나는 결국 당신이 oldList를 통해 반복하고 있기 때문에 이유를 이해할 수 없었다. 왜 즉시 완료해야합니까 * 선언 후?
귀하의 질문이 무엇인지 잘 모르겠습니다. 코드의 순서를 변경하면 코드의 동작이 변경된다는 말입니까? * 모든 링크드리스트 조작 문제를 합리화하는 방법은 한 장의 종이에 여러 상자와 화살표를 그려 넣는 것입니다. –