I'm currently in the process of developing an algorithm for a reverse method for a singly-linked list--not an array, which is a much easier algorithm and I have done before. I'm writing in Java. I'm working from a pre-written SinglyLinkedList class with certain methods (intentionally) empty, for us to fill. I have, unbelievably, spent somewhere around 5 hours going through drafts. The easiest implementation I've conceived of would be to create a second list with which to import the nodes and elements starting from the tail. public void reverse() { list2 = new SinglyLinkedList(); for (size) { list2.addLast(tail); list1.remove(tail); } }
Hello!
I'm currently in the process of developing an
I have, unbelievably, spent somewhere around 5 hours going through drafts. The easiest implementation I've conceived of would be to create a second list with which to import the nodes and elements starting from the tail.
public void reverse() {
<Integer> list2 = new SinglyLinkedList();
for (size) {
list2.addLast(tail);
list1.remove(tail); }
}
This is the rough draft pseudocode for the aforementioned implementation.
If we were to work within the same list, instead of creating a new one we would have to go through, for a size of 10, a hundred iterations.
Obviously, there are a number of problems.
First, reverse() has been defined as a void method. It's not supposed to return anything.
Second, my attempts of a non-void reverse are ending in NullPointerException.
I don't care if our product needs to be void or not, I just am racking my brains at whatever I'm doing wrong. Help.

Trending now
This is a popular solution!
Step by step
Solved in 2 steps









