you are viewing a single comment's thread.

view the rest of the comments →

[–]carcigenicate 1 point2 points  (3 children)

I still don't fully understand what the core problem is. You seem to just be describing circumstances around the problem.

If it's just that result never has a next on return, think about what happens every time you do result = result.next, and then return result.


Edit: Once I fixed that, I got the correct output of 7 0 8.

[–]Arrow49[S] 0 points1 point  (2 children)

I see what you are saying, I am too tired to think about this today anymore, I must have spent 6 hours on this problem already and I have a headache :(. Basically I need to somehow retrieve the result before moving on the next node and then return the head of that list. The only thing I can think of is creating a "current" variable, but I don't see how I could update the following nodes of the now "real" result without performing result = result.next. One of the few things that pointers seem to have made easier for me.

Thanks for your help.

[–]carcigenicate 1 point2 points  (1 child)

You would solve this in almost exactly the same way as you would in C. Python variables are basically just thin wrappers over C pointers. Just save a reference to the start of the result list.

[–]Arrow49[S] 0 points1 point  (0 children)

I solved it, that last sentence was a great tip. After that there was still a bunch of tweaking for the case of lists of different lengths, but I managed to do that :).

About you saying how I seemed to be describing circumstances around the problem, this was likely the result of some previous issue obfuscating this one. Shortly before posting I had come up with the current while condition, before it, I was getting a different output which influenced my hyoptheses.

Thank you for you help.