Changes: ---------- * Devided resposiblity with using functions. * Slice in already a reference type in go, means in passes actual slice(not a copy) to functions, that's why using pointers in swap and reverse functions look redundant in my opinion. Discussion: -------------- https://leetcode.com/problems/next-permutation/discuss/1554932/Go-Submission-with-Explanation