Gray Code Leetcode 893