v1 time O(n) space O(1) Accepted

fast slow cursor to find middle node
reverse 2nd half
join 2 halves

remember to cut clean!