Problem #760 [Hard]: This problem was asked by Apple. Given a linked list, uniformly shuffle the nodes. What if we want to prioritize space over time?