leetcode by Ryan Lee.