public static ElementL reverse(ElementL element){
//Implement reverse here
ElementL previous = null;
ElementL next = element.next;
do{
element.next = previous;
previous = element;
element = next;
next = next.next;
}while(next!=null);
return previous;
}
最后一个元素被跳过,因为 While 循环中的条件检查下一个元素是否为 null。有人可以建议更改现有代码,以便可以修改 while 中的条件以对所有元素执行反向操作。
作为引用,类 ElementL 的结构
public class ElementL{
ElementL next;
int data;
public ElementL(int data){
this.data = data;
this.next = null;
}
}
最佳答案
你可以试试这个逻辑:-
ElementL previous = null;
ElementL next = null;
do {
next = element.next;
element.next = previous;
previous = element;
element = next;
} while (next != null);
return previous;
您唯一需要注意的是,element
最初不是空的!
关于algorithm - 使用 do While 循环反转 LinkedList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825590/