2

重複の可能性:
単一リンクリストを逆にする

単一のforループで単一リンクリストを逆にする方法は?これはインタビューで尋ねられた質問でした。

4

1 に答える 1

1

疑似コードでは、これは次のようになります。

// Cache the start element
current = first;
next = current->next;
while (next != null) {
   // Cache the next pointer to not lose the reference
   temp = next->next;
   next->next = current;
   // Increment
   current = next;
   next = temp;
}
first = current;

forループではないことは知っていますが、簡単に書き換えることができます。while を使用すると、もう少し読みやすくなります。

于 2012-09-16T11:31:04.023 に答える