JAVA CODE
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.Deque;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
Deque<Integer> q = new LinkedList<>();
int N = Integer.parseInt(br.readLine());
StringTokenizer command;
while(N-- > 0) {
command = new StringTokenizer(br.readLine(), " ");
switch(command.nextToken()) {
case "push_front":
q.offerFirst(Integer.parseInt(command.nextToken()));
break;
case "push_back":
q.offerLast(Integer.parseInt(command.nextToken()));
break;
case "pop_front" :
Integer item1 = q.pollFirst();
if(item1 == null) {
sb.append(-1).append('\n');
}
else {
sb.append(item1).append('\n');
}
break;
case "pop_back" :
Integer item2 = q.pollLast();
if(item2 == null) {
sb.append(-1).append('\n');
}
else {
sb.append(item2).append('\n');
}
break;
case "size":
sb.append(q.size()).append('\n');
break;
case "empty":
if(q.isEmpty()) {
sb.append(1).append('\n');
}
else {
sb.append(0).append('\n');
}
break;
case "front":
Integer ite = q.peek();
if(ite == null) {
sb.append(-1).append('\n');
}
else {
sb.append(ite).append('\n');
}
break;
case "back":
Integer it = q.peekLast();
if(it == null) {
sb.append(-1).append('\n');
}
else {
sb.append(it).append('\n');
}
break;
}
}
System.out.println(sb);
}
}
PYTHON CODE (Error)
import sys
from collections import deque
N =int(input())
queue = deque()
res = []
for _ in range(N):
command = sys.stdin.readline().split(" ")
if len(command) > 1:
num = int(command[1])
if command[0] == "push_front":
queue.appendleft(num)
elif command[0] == "push_back":
queue.append(num)
elif command[0] == "pop_front":
if len(queue) == 0:
res.append(-1)
else:
res.append(queue[0])
queue.popleft()
elif command[0] == "pop_back":
if len(queue) == 0:
res.append(-1)
else:
res.append(queue[len(queue)-1])
queue.pop()
elif command[0] == "size":
res.append(len(queue))
elif command[0] == "empty":
if len(queue) == 0:
res.append(1)
else:
res.append(0)
elif command[0] == "front":
if len(queue) == 0:
res.append(-1)
else:
res.append(queue[0])
elif command[0] == "back":
if len(queue) == 0:
res.append(-1)
else:
res.append(queue[len(queue)-1])
for i in range(len(res)):
print(res[i])
PYTHON CODE(Answer)
from collections import deque
import sys
d = deque()
n = int(input())
for i in range(n):
command = sys.stdin.readline().split()
if command[0] == "push_front":
d.appendleft(command[1])
elif command[0] == "push_back":
d.append(command[1])
elif command[0] == "pop_front":
if d:
print(d[0])
d.popleft()
else:
print("-1")
elif command[0] == "pop_back":
if d:
print(d[len(d) - 1])
d.pop()
else:
print("-1")
elif command[0] == "size":
print(len(d))
elif command[0] == "empty":
if d:
print("0")
else:
print("1")
elif command[0] == "front":
if d:
print(d[0])
else:
print("-1")
elif command[0] == "back":
if d:
print(d[len(d) - 1])
else:
print("-1")