https://bi3mer.github.io/posts/leetcode-31/
LeetCode 31: Next Permutation