题解 | 栈和排序
栈和排序
https://www.nowcoder.com/practice/b10a7ac681e9429e89a6a510e5799647
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
Deque<Integer> stack = new ArrayDeque<>();
int min = n;
while(n-->0){
int temp = in.nextInt();
//尽量按照由大到小的顺序输出
stack.push(temp);
if(temp==min){
System.out.printf("%d ",stack.pop());
min--;
}
}
while(!stack.isEmpty()){
System.out.printf("%d ",stack.pop());
}
}
}

查看9道真题和解析