- 思路:更新最后一位,最后一位更新到n时,更新上一位。
- 声明一个栈,将数字1入栈。
- 取栈顶的下一位入栈。
- 当栈内元素个数为r时,打印栈内元素,需要出栈一次,更新栈顶。
- 当栈顶为n时,需要出栈两次,更新栈顶。
- 重复③④⑤操作,栈为空为止。
示例:
- 栈内元素:1,2,3,此时元素个数等于3,打印,需要一次出栈。
- 3出栈,3的下一位4入栈,栈内元素:1,2,4。
- 此时元素个数等于3,打印,需要一次出栈。
- 4出栈,4的下一位5入栈,栈内元素:1,2,5。
- 由于栈顶为5,需要两次出栈。
- 5出栈,2出栈,2的下一位3入栈,栈内元素:1,3。