一副從1到n的牌拥知,每次從牌堆頂取一張放桌子上,再取一張放牌堆底碎赢,直到手機(jī)沒牌低剔,最后桌子上的牌是從1到n有序,設(shè)計(jì)程序肮塞,輸入n襟齿,輸出牌堆的順序數(shù)組
public static void init(int n) {
LinkedList<Integer> a = new LinkedList<>();
LinkedList<Integer> b = new LinkedList<>();
for (int i = 0; i < n; i++) {
b.add(i + 1);
}
reverse(a, b);
}
private static void reverse(LinkedList<Integer> a, LinkedList<Integer> b) {
int c = b.pollLast();
a.push(c);
if (b.size() == 0) {
System.out.println(a);
return;
}
int d = a.pollLast();
a.push(d);
reverse(a, b);
}
public static void main(String[] args) {
init(6);
}