Sunday, February 6, 2022

Linkedlist to queue adapter

I/O:

add 10 add 20 add 30 add 40 add 50 add 60 peek remove peek remove peek remove peek remove peek remove peek remove quit


O/P:

10 10 20 20 30 30 40 40 50 50 60 60


package pep.Day14;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.LinkedList;

public class Linkedlist_To_Queue_Adapter {

public static class LLToQueueAdapter {
LinkedList<Integer> list;

public LLToQueueAdapter() {
list = new LinkedList<>();
}

// write your code here
int size() {
return list.size();
}

// write your code here
void add(int val) {
list.addLast(val);
}

// write your code here
int remove() {
return list.removeFirst();
}

// write your code here
int peek() {
return list.getFirst();
}

}

public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
LLToQueueAdapter qu = new LLToQueueAdapter();

String str = br.readLine();
while (str.equals("quit") == false) {
if (str.startsWith("add")) {
int val = Integer.parseInt(str.split(" ")[1]);
qu.add(val);
} else if (str.startsWith("remove")) {
int val = qu.remove();
if (val != -1) {
System.out.println(val);
}
} else if (str.startsWith("peek")) {
int val = qu.peek();
if (val != -1) {
System.out.println(val);
}
} else if (str.startsWith("size")) {
System.out.println(qu.size());
}
str = br.readLine();
}
}
}

No comments:

Post a Comment

Diagonal Traversal

 eg.  1       2       3       4 5      6       7       8 9    10    11     12 13  14   15    16 Output: 1 6 11 16 2 7 12 3 8 4  Approach:...