https://medium.com/programmers-career/leetcode-25-golang-reverse-nodes-in-k-group-hard-recursion-linked-list-manipulation-8bc056b2cc82