Top Leetcode patterns and how to approach