//两层for
class Solution {
public int[] dailyTemperatures(int[] temperatures) {
int len = temperatures.length;
boolean found = false;
int[] res = new int[len];
for(int i = 0;i<len;i++){
int count = 0;
for(int j = i+1;j<len;j++){
count++;
if(temperatures[j] > temperatures[i]){
res[i] = count;
found = true;
break;
}
}
if (!found) {
res[i] = 0;
}
}
return res;
}
}
//栈
class Solution {
public int[] dailyTemperatures(int[] temperatures) {
Stack<Integer> stack = new Stack<>();
int len = temperatures.length;
int[] res = new int[len];
for(int i = 0; i<len; i++){
while(!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]){
int ind = stack.pop();
res[ind] = i - ind;
}
stack.push(i);
}
return res;
}
}
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null){
return null;
}
TreeNode left = invertTree(root.left);
TreeNode right = invertTree(root.right);
root.right = left;
root.left = right;
return root;
}
}