Quick actions

cmd+k|ctrl+k

Navigation

Languages

ImplementQueueswithstack

Snippet info

Language

Dart

Visibility

public

Author

obihenry578

Created

2025-02-14T09:26:48.539242Z

Updated

2025-02-14T09:26:48.539242Z

class MyQueue {
    dynamic first;
    dynamic last;
  MyQueue() {
   this.first = [];
   this.last = [] ;
  }
  
  void push(int x) {
    
  first.add(x);
    // print(first);
  }
  
   int pop() {

    if (last.isEmpty) {
      // Transfer elements from stack1 to stack2
      while (first.isNotEmpty) {
        last.add(first.removeLast());
      }

    }
    return last.isNotEmpty ? last.removeLast() : null;

  }
  
  int peek() {
    if(last.isNotEmpty){
     this.last[last.length-1];

    // print(last);
    return last[last.length -1];
    }
    
    return first[0];
  }
  
  bool empty() {
    return last == []? true: false;
  }
  
  @override
  String toString(){
      return'  $last';
  }
}

void main(){
    MyQueue queue = new MyQueue();
    queue.push(1);
    queue.push(2); 
    queue.push(3);
    queue.pop();
    print(queue);
    print(queue.peek());
    // queue.push(4);
    
        
}
INFO