Leetcode 35 Solution