Stack Leetcode Hard Problem