1. 程式人生 > 其它 >Leetcode刷題之Java中的棧與佇列

Leetcode刷題之Java中的棧與佇列

1 Java中的棧

  • 可以用Stack類也可以用LinkedList類 但LinkedList更加方便
    public static void main(String[] args) {
        LinkedList<Integer> stack = new LinkedList<>();
        stack.addFirst(1);//將元素加入棧頂
        stack.addFirst(2);
        stack.addFirst(3);
        stack.addFirst(4);
        stack.removeFirst();//刪除棧頂元素
        System.out.println(stack.isEmpty());//判斷是否為空
        System.out.println(stack.peek());//返回棧頂元素
        for (int i=0;i<stack.size();i++){
            System.out.println(stack.get(i));
        }
    }

輸出結果

false
3
3
2
1

2Java中的佇列

    public static void main(String[] args) {
        LinkedList<Integer> queue = new LinkedList<>();
        queue.offer(1);//進佇列,將元素加入佇列末尾
        queue.offer(2);
        queue.offer(3);
        queue.offer(4);
        Integer poll = queue.poll();//獲取佇列頭的元素並移除
        System.out.println(poll);
        System.out.println(queue.peek());//獲取佇列頭的元素
        System.out.println(queue.isEmpty());//判斷佇列是否為空
        for(int i=0;i<queue.size();i++){
            System.out.println(queue.get(i));
        }
    }

輸出結果

1
2
false
2
3
4