Skip to content

Commit aa9e534

Browse files
Update deque.py
1 parent 365fb91 commit aa9e534

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

deque/deque.py

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,50 @@
1+
2+
from typing import Any, List
3+
4+
15
class Deque:
2-
def __init__(self):
3-
self._deque: list = []
46

5-
def add_front(self, item):
7+
def __init__(self) -> None:
8+
self._deque: List[Any] = []
9+
10+
def is_empty(self) -> bool:
11+
return len(self._deque) == 0
12+
13+
def size(self) -> int:
14+
return len(self._deque)
15+
16+
def add_front(self, item: Any):
617
self._deque.insert(0, item)
718

8-
def add_rear(self, item):
19+
def add_rear(self, item: Any):
920
self._deque.append(item)
1021

11-
def remove_front(self):
22+
def remove_front(self) -> Any:
1223
if self.is_empty():
13-
raise Exception("Deque is empty")
24+
raise Exception('Deque is empty')
1425
return self._deque.pop(0)
1526

16-
def remove_rear(self):
27+
def remove_rear(self) -> Any:
1728
if self.is_empty():
18-
raise Exception("Deque is empty")
29+
raise Exception('Deque is empty')
1930
return self._deque.pop()
2031

21-
def is_empty(self) -> bool:
22-
return len(self._deque) == 0
23-
24-
def size(self) -> int:
25-
return len(self._deque)
2632

2733

28-
def is_palindrome(string: str) -> bool:
34+
def is_palindrome(string:str='') -> bool:
2935
d: Deque = Deque()
36+
3037
for character in string:
3138
d.add_rear(character)
3239

3340
palindrome: bool = True
3441
while d.size() > 1 and palindrome:
3542
if d.remove_front() != d.remove_rear():
3643
palindrome = False
44+
3745
return palindrome
3846

39-
40-
print(is_palindrome("radar"))
41-
print(is_palindrome("radr"))
42-
43-
47+
print(is_palindrome('radar'))
48+
print(is_palindrome('radr'))
49+
print(is_palindrome('r'))
50+
print(is_palindrome(''))

0 commit comments

Comments
 (0)