that's the ternary operator EDIT: note that the second option is a recursive call (!)
Can someone explain what is happening after the return statement? with the question mark?
I tidied this up (and converted it to C#) and it worked for me, not sure what's wrong when you run it.
This comment is hidden because it contains spoiler information about the solution