This commit is contained in:
krahets
2023-03-23 18:56:56 +08:00
parent 2715ce703a
commit 0dfdcf0bab
25 changed files with 118 additions and 115 deletions

View File

@@ -595,15 +595,15 @@ comments: true
def __init__(self, val: int) -> None:
""" 构造方法 """
self.val: int = val
self.next: Optional[ListNode] = None # 后继结点引用(指针)
self.prev: Optional[ListNode] = None # 前驱结点引用(指针)
self.next: ListNode | None = None # 后继结点引用(指针)
self.prev: ListNode | None = None # 前驱结点引用(指针)
class LinkedListDeque:
""" 基于双向链表实现的双向队列 """
def __init__(self) -> None:
""" 构造方法 """
self.front: Optional[ListNode] = None # 头结点 front
self.rear: Optional[ListNode] = None # 尾结点 rear
self.front: ListNode | None = None # 头结点 front
self.rear: ListNode | None = None # 尾结点 rear
self.__size: int = 0 # 双向队列的长度
def size(self) -> int:
@@ -651,7 +651,7 @@ comments: true
if is_front:
val: int = self.front.val # 暂存头结点值
# 删除头结点
fnext: Optional[ListNode] = self.front.next
fnext: ListNode | None = self.front.next
if fnext != None:
fnext.prev = None
self.front.next = None
@@ -660,7 +660,7 @@ comments: true
else:
val: int = self.rear.val # 暂存尾结点值
# 删除尾结点
rprev: Optional[ListNode] = self.rear.prev
rprev: ListNode | None = self.rear.prev
if rprev != None:
rprev.next = None
self.rear.prev = None
@@ -684,10 +684,10 @@ comments: true
""" 访问队尾元素 """
return None if self.is_empty() else self.rear.val
def to_array(self) -> List[int]:
def to_array(self) -> list[int]:
""" 返回数组用于打印 """
node: Optional[ListNode] = self.front
res: List[int] = [0] * self.size()
node: ListNode | None = self.front
res: list[int] = [0] * self.size()
for i in range(self.size()):
res[i] = node.val
node = node.next
@@ -1584,10 +1584,9 @@ comments: true
```python title="array_deque.py"
class ArrayDeque:
""" 基于环形数组实现的双向队列 """
def __init__(self, capacity: int) -> None:
""" 构造方法 """
self.__nums: List[int] = [0] * capacity
self.__nums: list[int] = [0] * capacity
self.__front: int = 0
self.__size: int = 0
@@ -1659,7 +1658,7 @@ comments: true
last = self.index(self.__front + self.__size - 1)
return self.__nums[last]
def to_array(self) -> List[int]:
def to_array(self) -> list[int]:
""" 返回数组用于打印 """
# 仅转换有效长度范围内的列表元素
res = []