Idea one
Go through the list first, get the list length, find the position of the middle node, and then go through the list head until the middle node is located.
The complexity is probably O (3/2n),
Idea two
Set two pointers to traverse from the head node of the chain, where one pointer goes down 2 nodes at a time, one pointer goes down one node at a time, and when the fast pointer reaches the last, the slow pointer just reaches the middle node.
The complexity is probably O (n)
comparison of two ideas
The idea is to let a person to find a certain distance of the middle position, the idea of two like to let two people to find the middle position of a certain distance.
Thought one, this person needs to walk 1.5 times times to be able to find the middle point (assuming he arrives at the finish line can immediately arrive the starting point).
Train of thought two, a person walked through the whole process, another person walked half a way, two people add up is also 1.5 times times the distance.
So, in this sense, the two ways of spending are actually the same.