Hãy nghĩ đến stack khi bài có tính chất "cái vào sau xử lý trước" hoặc cần nhớ trạng thái đang mở: valid parentheses, evaluate expression, undo nested structure, DFS iterative, monotonic stack như daily temperatures/next greater element.
- Stack giúp quản lý thứ tự gần nhất chưa được giải quyết.
- Dấu hiệu quan trọng là khi gặp phần tử mới, nó có thể giải quyết một hoặc nhiều phần tử trước đó.
- Với monotonic stack, hãy nói rõ stack đang tăng hay giảm và lưu index hay value; nhiều bài cần index để tính khoảng cách.