【发布时间】:2012-03-27 20:43:46
【问题描述】:
我正在学习 Java 测试,我发现了一个练习,其中我有一堆数字(即 2-4-1-5-3,第一个插入的是 2,插入的是 3你可以偷看)和一个循环的字符列表(即a->d->c->b->e->,是第一个节点)所以如果堆栈的第一个数字是3,我有插入一个简单的列表字符号 3,即 c。所以问题是必须在不使用任何辅助结构的情况下完成练习,例如辅助列表或辅助堆栈。我的疑问是如何在不丢失第 3 和第 5 并且不将它们放置在辅助结构中的情况下达到堆栈中的第 1 位。
提前,谢谢。
【问题讨论】:
-
嗯,你必须把它们放在某个地方,你可以使用的唯一其他结构是列表......
-
为什么需要保留堆栈中的值?如果我正确理解了分配,一旦您使用堆栈值索引到列表中,您就完成了它并且可以忘记它。换句话说,重复
result.append(list.get(stack.pop()))直到堆栈为空。这不正确吗? -
@jpm 是的,一个我在列表中插入分配的字符,我不需要值,但第一个插入的必须是等于 1 的字符,在这种情况下是 c ,但我不能丢失数字 3 和 5,因为我需要稍后插入这些字符。
-
@trutheality 它说它可以在不将它们放在其他地方的情况下做到这一点......老实说,这是一个测试练习,我使用另一个结构来放置它们,并且教授告诉我,这显然是错误的,并且在没有其他额外结构的情况下也是可行的。
-
我认为我们中的一个人误解了这个问题。你有机会发布实际的文字吗?