假设MyStack为一个栈,其进栈出栈等程序如下:
void push(Object obj);
Object pop();
boolean isEmpty();//检查栈是否为空,若空返回true,若不为空返回false.
要编mergeStack()方法
,将2个栈中的数据合并并到一个栈,并将合并后的栈返回.
MyStack mergeStack(MyStack s1,MyStack s2){}

解决方案 »

  1.   

    不知道你的合并有没有更具体的要求了,比如如果有重复的,需要过滤掉么?如果不需要的话,很简单啊。直接while循环判断s2是否为空,如果不为空,那么就一直pop,把pop出来的元素,push到s1中去。
      

  2.   

    while (! s2.isEmpty()){
       s1.push(s2.pop());
    }这里没有类型转换 具体你自己再看看吧。
      

  3.   

    MyStack mergeStack(MyStack s1,MyStack s2){
    char[] F,U,C,K;
    MyStack zong=new MyStack(c);
    MyStack s1=new MyStack(f);
    MyStack s2=new MyStack(u);
    s1.push(f);
    s2.push(u);
    while(!s1.isEmpty()||!s2.isEmpty()){
    c=s1.pop();
    c=s2.pop();
    }
    return c;
    }我的答案是这个
    不考虑重复的 
      

  4.   

    直接把s2里的元素直接添加到s1就好了啊 不用再新生成一个零时temp的