leetcode

Leetcode submissions
git clone git://git.laack.co/leetcode.git
Log | Files | Refs | README

implement-queue.cpp (809B)


      1 #include <list>
      2 #include <iostream>
      3 
      4 
      5 
      6 
      7 
      8 
      9 using namespace std;
     10 
     11 
     12 //Leet Ratings
     13 //       Speed  Memory
     14 //Total  2ms    7MB    
     15 //Beats  43.74% 45.49%
     16 //Impletmentation of a queue class using a doubly linked list.
     17 
     18 class MyQueue {
     19 public:
     20     list<int> sl = {};
     21     
     22     void push(int x) {
     23         sl.push_front(x);
     24     }
     25     
     26 int pop() {
     27     if (sl.size() != 0) {
     28         int value = sl.back();
     29         sl.pop_back();
     30         return value; 
     31     } else {
     32         return pop();
     33     }
     34 }
     35     
     36     int peek() {
     37         return sl.back();
     38     }
     39     
     40     bool empty() {
     41         return sl.empty();
     42     }
     43 };
     44 
     45 
     46 
     47 
     48 
     49 int main(){
     50     auto queue = MyQueue();
     51     queue.push(10);
     52     cout << queue.pop() << endl;
     53     queue.push(13);
     54     queue.push(124);
     55     cout << queue.empty() << endl;
     56     cout << queue.pop() << endl;
     57 
     58 
     59 }