You are on page 1of 6

import java.io.*; // Do not import anything else.

class Deque {

// construct an empty deque


public Deque(){

// return true if the deque is empty, otherwise, return false


public boolean isEmpty(){

// add the item to the head


public void addFirst(int item){

// add the item to the tail


public void addLast(int item){

// remove and return the item from the head


public int removeFirst(){

// remove and return the item from the tail


public int removeLast(){

/*
* Do NOT modify the main function
* */
public class Solution{
public static void main(String args[]) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new
OutputStreamWriter(System.out));

Deque deque = new Deque();

int NumOfQueries = Integer.parseInt(bufferedReader.readLine().trim());


while(NumOfQueries-- > 0){
String[] query = bufferedReader.readLine().replaceAll("\\s+$",
"").split(" ");
if(query[0].equals("addFirst")){
deque.addFirst(Integer.parseInt(query[1]));
}
else if(query[0].equals("addLast")){
deque.addLast(Integer.parseInt(query[1]));
}
else if(query[0].equals("removeFirst")){
bufferedWriter.write(deque.removeFirst() + "\n");
}
else if(query[0].equals("removeLast")){
bufferedWriter.write(deque.removeLast()+ "\n");
}
else if(query[0].equals("isEmpty")){
if(deque.isEmpty())
bufferedWriter.write("Yes\n");
else
bufferedWriter.write("No\n");
}
}
bufferedWriter.close();
bufferedReader.close();
}
}++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++=

import java.io.*; // Do not import anything else.

class Deque {
private int n;
private node head;
private node tail;
class node{
int item ;
node next;
node previous;
}

// construct an empty deque


public Deque(){
n=0;
head=null;
tail=null;
}

// return true if the deque is empty, otherwise, return false


public boolean isEmpty(){
return n==0;
}

// add the item to the head


public void addFirst(int item){
node oldhead=head;
head=new node();
head.item=item;
if(isEmpty())
tail=head;
else
head.previous=oldhead;
oldhead.next=head;
n++;

}
// add the item to the tail
public void addLast(int item){
node oldtail=tail;
tail=new node();
tail.item =item;
head.previous=null;
tail.next=null;
tail.previous=oldtail;
if(isEmpty())
head=tail;
else
oldtail.next=tail;
n++;

// remove and return the item from the head


public int removeFirst(){

int e =head.item;
head=head.next;
if (head==null)
tail=null;

n--;
return e;
}

// remove and return the item from the tail


public int removeLast(){

int a= head.item;
tail=tail.previous;
if (tail==null)
head=null;
n--;
return a;

/*
* Do NOT modify the main function
* */
public class Solution{
public static void main(String args[]) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new
OutputStreamWriter(System.out));

Deque deque = new Deque();

int NumOfQueries = Integer.parseInt(bufferedReader.readLine().trim());


while(NumOfQueries-- > 0){
String[] query = bufferedReader.readLine().replaceAll("\\s+$",
"").split(" ");
if(query[0].equals("addFirst")){
deque.addFirst(Integer.parseInt(query[1]));
}
else if(query[0].equals("addLast")){
deque.addLast(Integer.parseInt(query[1]));
}
else if(query[0].equals("removeFirst")){
bufferedWriter.write(deque.removeFirst() + "\n");
}
else if(query[0].equals("removeLast")){
bufferedWriter.write(deque.removeLast()+ "\n");
}
else if(query[0].equals("isEmpty")){
if(deque.isEmpty())
bufferedWriter.write("Yes\n");
else
bufferedWriter.write("No\n");
}
}
bufferedWriter.close();
bufferedReader.close();
}
}

===================================================================================
=============

import java.io.*; // Do not import anything else.

class Deque {
private int n;
private Node head;
private Node tail;

private class Node{


int item;
Node next;
Node previous;
}
// construct an empty deque
public Deque(){
n=0;
head=null;
tail=null;

// return true if the deque is empty, otherwise, return false


public boolean isEmpty(){
return n==0;

// add the item to the head


public void addFirst(int item){
Node oldhead=head;
head =new Node();
head.item=item;
if (isEmpty())
tail=head;
else
oldhead.previous=head;
head.next=oldhead;

n++;
}

// add the item to the tail


public void addLast(int item){
Node oldtail=tail;
tail=new Node();
tail.item =item;
if(isEmpty())
head=tail;
else
oldtail.next=tail;
tail.previous=oldtail;
}

// remove and return the item from the head


public int removeFirst(){
int e=head.item;
if(head.next==null)
tail=null;
else
head.next.previous=null;
head=head.next;
n--;
return e;
}

// remove and return the item from the tail


public int removeLast(){

int a =tail.item;
if (tail.previous==null)
head=null;
else
tail.previous.next=null;
tail=tail.previous;
n--;
return a;
}

/*
* Do NOT modify the main function
* */
public class Solution{
public static void main(String args[]) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new
OutputStreamWriter(System.out));

Deque deque = new Deque();

int NumOfQueries = Integer.parseInt(bufferedReader.readLine().trim());


while(NumOfQueries-- > 0){
String[] query = bufferedReader.readLine().replaceAll("\\s+$",
"").split(" ");
if(query[0].equals("addFirst")){
deque.addFirst(Integer.parseInt(query[1]));
}
else if(query[0].equals("addLast")){
deque.addLast(Integer.parseInt(query[1]));
}
else if(query[0].equals("removeFirst")){
bufferedWriter.write(deque.removeFirst() + "\n");
}
else if(query[0].equals("removeLast")){
bufferedWriter.write(deque.removeLast()+ "\n");
}
else if(query[0].equals("isEmpty")){
if(deque.isEmpty())
bufferedWriter.write("Yes\n");
else
bufferedWriter.write("No\n");
}
}
bufferedWriter.close();
bufferedReader.close();
}
}

You might also like