
## 每日一题 - poker-reveal

### 信息卡片

- 时间：2019-07-26
- 题目链接：无
- tag：`stack` `queue` `backtrack`

### 题目描述

```
手中有 n 张牌
第一张放桌上，第二张挪到手牌最下面，第三张放桌上，第四章挪到手牌最下面，
循环直到所有牌都在桌上
如果桌上牌的顺序是 1 - n
原手牌顺序是什么？

i.e.
如果有 5 张牌，桌上顺序是 1，2，3，4，5
手中顺序是 1，5，2，4，3
手中牌流程是：
1 到桌上 5，2，4，3
5 到牌尾 2，4，3，5，
2 到桌上 4，3，5
4 到牌尾 3，5，4
3 到桌上 5，4
5 到牌尾 4，5
4 到桌上 5
5 到牌尾 5
5 到桌上

```

### 参考答案

我们可以采取逆推理的方式来完成，假设我们现在桌上的扑克牌已经按照顺序排开了，
我们让时间倒流，一步一步推倒出最初的时候手上的牌即可。
这样的时间复杂度和空间复杂度都是O(n)

大家可以对比看下leetcode 950号问题，这道题目是昨天题目的进阶版本（通用情况）。

这里仅仅列举了950问题的参考代码： https://github.com/azl397985856/leetcode/blob/master/daily/answers/950.reveal-cards-in-increasing-order.js

### 其他优秀解答

```
暂无
```