java - pop()方法在栈中的实现

标签 java

我有一个 Java 中的 pop() 方法,我想实现它。这是我的代码:

public E pop() {
    if (top == null) {
        throw new NoSuchElementException();
    } else {
        return top.element;
        top = top.next;
    }
}

但我的书是这样做的:

public E pop() {
    if (top == null) {
        throw new NoSuchElementException();
    }
    E tmp = top.element;
    top = top.next;
    return tmp;
}

我执行 peek() 方法的方式正确吗?

最佳答案

由于前一行中的 return 语句,您的 top=top.next; 将不会被执行。您必须保存临时弹出的对象才能设置新顶部。

关于java - pop()方法在栈中的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924022/

相关文章:

java - WAR、manifest.mf 和版本

java - 从长字符串中提取文本并存储在变量中

java - 出于安全目的,如果以某种方式编写代码,是否有办法使代码失败?

java - Spring MVC Controller 中的JSON参数

java - 带有监听器的 BroadcastReceiver 在不使用时会耗尽电池

java - Spring Boot 集成测试通过注释加倍?

java - 为什么 writeBytes 会丢弃每个字符的高八位?

java - JAXB 编码 XMPP 节

java - 关于阻塞队列和多线程消费者的一些困惑

java - 为什么 javaslang CharSeq 是最终的?