Существует односвязный связанный список и указан размер блока. Например, если мой связанный список равен 1->2->3->4->5->6->7->8-NULL
, а мой размер блока равен 4
, то поменяйте местами первые 4
элементы, а затем вторые 4 элемента. Вывод задачи должен быть 4->3->2->1->8->7->6->5-NULL
Я думал о том, чтобы разделить связанный список на сегменты размером 4
и затем обратить его вспять.
Но таким образом я вынужден использовать много дополнительных узлов, что вовсе не желательно.
Сложность пространства должна быть сведена к минимуму.
Будет весьма замечательно, если кто-то сможет найти лучшее решение, в котором использование дополнительных узлов будет сведено к минимуму.