题目:一个栈依次压入1、2、3、4、5,从栈顶到栈底为5、4、3、2、1,则逆序后从栈顶到栈低为1、2、3、4、5。
实现:需要设计两个递归函数
- 第一个递归:递归弹出栈内元素,获得栈底的元素并移除;
- 第二个递归:递归弹出栈底元素,然后重新压入元素,逆序栈内元素。
递归:就是在运行的过程中调用自己。
递归的三个要素:
①、边界条件。
②、当边界条件不满足时,递归前进。
③、当边界条件满足时,递归返回。
1 | import java.util.Scanner; |
1 | // Test |
题目:一个栈依次压入1、2、3、4、5,从栈顶到栈底为5、4、3、2、1,则逆序后从栈顶到栈低为1、2、3、4、5。
实现:需要设计两个递归函数
递归:就是在运行的过程中调用自己。
递归的三个要素:
①、边界条件。
②、当边界条件不满足时,递归前进。
③、当边界条件满足时,递归返回。
1 | import java.util.Scanner; |
1 | // Test |