论坛首页 综合技术论坛

堆栈,利用pop()递归地把栈里的元素,从下向上逆着打印出来。

浏览 3618 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-10-03  
我是java编程新手,这个题目有些不懂,堆栈用pop()不是直接可以逆序输出吗,比如入栈{1,2,3,4,5},出栈{5,4,3,2,1}。题目中的要求用到递归,那是不是要求入栈{1,2,3,4,5},输出{1,2,3,4,5}?如果这样要求的话,那该怎么做?
   发表时间:2011-10-14  
你可以看看尾递归?
0 请登录后投票
   发表时间:2011-10-17  
嗯,问题解决了。

    private static void printStack(Stack s) {
        if (!s.empty()) {
            Object pop = s.pop();
            printStack(s);
            System.out.println(pop);
        }
    }
0 请登录后投票
   发表时间:2011-10-19  
这不是最近某个公司的笔试题?
0 请登录后投票
   发表时间:2011-10-19  
大海lb 写道
这不是最近某个公司的笔试题?
嗯,是一家公司的笔试题。
0 请登录后投票
   发表时间:2011-10-20  
估计很快就会被隐藏了。
加一句,通常stack是用在非递归的调用时,做为辅助数据结构的。所以这个题目有点无聊。
0 请登录后投票
   发表时间:2011-10-20  
你那样本身是做了个循环 循环输出了。题目要求对自身进行调用,即递归~~定义个函数 比较好~
0 请登录后投票
   发表时间:2011-10-22  
如果要逆序的话,你可以把pop出来的再push到一个新的栈中,完了之后,再在这个新的栈中进行pop,就是没有递归,用循环就可以了
0 请登录后投票
   发表时间:2011-10-25  
shuangpan.zhang 写道
你那样本身是做了个循环 循环输出了。题目要求对自身进行调用,即递归~~定义个函数 比较好~

对自身进行调用,即递归?
不解
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics