Gray Code Leetcode 895