思路:有两个栈,栈1和栈2.当入栈的时候,我们将它全放进栈1中,当需要出栈的时候,我们将栈1出栈到栈2中,然后再将栈2依次出栈。所以入栈的时候,思路很简单,注意到要将int类型转为Integer类型,我们使用了new Integer(int);当需要出栈的时候,我们用API提供的方法while(stack1.isEmpty())来将所有栈1的元素压入栈2中,然后将栈2弹出就可以。这里又涉及到将Integer的类型转为int类型的方法Integer.intValue();
intValue():将Integer类型转换为int型;
用两个栈实现一个队列的功能?要求给出算法和思路!
<分析>:
入队:将元素进栈1;
出队:判断栈2是否为空,如果为空,则将栈1中所有元素pop,并push进栈2,栈2出栈;
如果不为空,栈2直接出栈。
用两个队列实现一个栈的功能?要求给出算法和思路!
<分析>:
入栈:将元素进队列1;
出栈:判断队列1中元素的个数是否为1,如果等于1,则出队列,否则将队列1中的元素 以此出队列并放入队列2,直到队列1中的元素留下一个,然后队列1出队列,再把队列2中的元素出队列以此放入队列1中。