import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 每日温度 * @param dailyTemperatures int整型一维数组 * @return int整型一维数组 */ public int[] temperatures (int[] dailyTemperatures) { // write code here // 解题思路:采用栈,后进先出 if (dailyTemperatures == null || dailyTemperatures.length == 0) { return null; } int length = dailyTemperatures.length; int[] result = new int[length]; Stack<Integer> stack = new Stack<>(); stack.push(0); for (int i = 1; i < length; i++) { while (!stack.isEmpty() && dailyTemperatures[stack.peek()] < dailyTemperatures[i]) { int index = stack.pop(); result[index] = i - index; } stack.push(i); } return result; } }