摘要: 原文地址:http://hi.baidu.com/aixindan/item/af659113e4de696771d5e876题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5处在栈顶。分析:乍一看到这道题目,第一反应是把栈里的所有元素逐一pop出来,放到一个数组里,然后在数组里颠倒所有元素,最后把数组中的所有元素逐一push进入栈。这时栈也就颠倒过来了。颠倒一个数组是一件很容易的事情。不过这种思路需要显示分配一个长度为O(n)的数组,而且也没有充分利用递归的特性。我们再来考虑怎么递归。我们把栈{1, 2, 3, 4, 阅读全文
posted @ 2013-09-04 09:12 xmuliushuo 阅读(410) 评论(0) 推荐(0)