Sam_Friberg 2022-09-03 17:01 采纳率: 50%
浏览 7
已结题

java中linkedlist的语法问题

问题遇到的现象和发生背景

刷leetcode的时候碰到这么一个问题,求解答

问题相关代码,请勿粘贴截图
class MaxQueue {
    Queue<Integer> queue;
    Deque<Integer> deque;
    public MaxQueue() {
        queue = new LinkedList<>();
        deque = new LinkedList<>();
    }
    public int max_value() {
        return deque.isEmpty() ? -1 : deque.peekFirst();
    }
    public void push_back(int value) {
        queue.offerLast(value);
        while(!deque.isEmpty() && deque.peekLast() < value)
            deque.pollLast();
        deque.offerLast(value);
    }
    public int pop_front() {
        if(queue.isEmpty()) return -1;
        if(queue.peek().equals(deque.peekFirst()))
            deque.pollFirst();
        return queue.poll();
        
    }
}

运行结果及报错内容
Line 12: error: cannot find symbol [in MaxQueue.java]
        queue.offerLast(value);
             ^
  symbol:   method offerLast(int)
  location: variable queue of type Queue<Integer>
问题

为什么初始化两个linkedlist,其中一个不能offerLast,不能pollFirst,只能够offer和poll呢?

  • 写回答

2条回答 默认 最新

  • 燕少༒江湖 2022-09-03 17:30
    关注
    
    class MaxQueue {
        LinkedList<Integer> queue;
        LinkedList<Integer> deque;
        public MaxQueue() {
            queue = new LinkedList<>();
            deque = new LinkedList<>();
        }
        public int max_value() {
            return deque.isEmpty() ? -1 : deque.peekFirst();
        }
        public void push_back(int value) {
            queue.offerLast(value);
            while(!deque.isEmpty() && deque.peekLast() < value)
                deque.pollLast();
            deque.offerLast(value);
        }
        public int pop_front() {
            if(queue.isEmpty()) return -1;
            if(queue.peek().equals(deque.peekFirst()))
                deque.pollFirst();
            return queue.poll();
    
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月11日
  • 已采纳回答 9月3日
  • 创建了问题 9月3日