class Solution { public: vectorint dailyTemperatures(vectorint temperatures) { int n temperatures.size(); vectorint ans(n, 0); stackint st; // 存储下标保持温度递减 for (int i 0; i n; i) { // 当前温度大于栈顶温度说明找到了栈顶的下一个更高温度 while (!st.empty() temperatures[i] temperatures[st.top()]) { int idx st.top(); st.pop(); ans[idx] i - idx; } st.push(i); } return ans; } };