【问题标题】:Implementing Queue Using single stack in java在java中使用单栈实现队列
【发布时间】:2020-03-26 04:12:00
【问题描述】:

我正在尝试使用递归实现一个使用单个堆栈的队列。但我正在努力实现deQueue() 方法。此方法必须返回队列中第一个插入的元素,它只是堆栈中的最后一个元素。

下面的代码对我不起作用。请指正并分享。

public String deQueue() {       
    return recursive();
}

public String recursive() {
    String result1 = null;
    String data;
    if (stack.empty()) {
         return null;
    }

    if (stack.count() ==1) {
        result1 = stack.pop();
        return result1;
    }

    data = stack.pop();
    recursive();
    stack.push(data);

    return result1;
}

【问题讨论】:

    标签: java data-structures stack queue


    【解决方案1】:

    您的问题是,您忽略了 recursive() 的结果。

    ...
    data = stack.pop();
    result1 = recursive();
    stack.push(data);
    ... 
    

    【讨论】:

      猜你喜欢
      • 2015-10-03
      • 2021-07-08
      • 1970-01-01
      • 2021-09-09
      • 2020-08-24
      • 1970-01-01
      • 2014-12-23
      • 2010-10-15
      • 1970-01-01
      相关资源
      最近更新 更多