Skip to content

Commit 1b976b0

Browse files
Update ListNode and TreeNode
1 parent 3a41333 commit 1b976b0

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

src/classes/__init__.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,27 @@
22
Class definitions provided by LeetCode.
33
"""
44

5+
from typing import Generic, Self, TypeVar
56

6-
# Definition for singly-linked list.
7-
class ListNode:
8-
def __init__(self, val=0, next=None):
9-
self.val = val
10-
self.next = next
7+
T = TypeVar("T")
118

129

13-
# Definition for a binary tree node.
14-
class TreeNode:
15-
def __init__(self, val=0, left=None, right=None):
16-
self.val = val
17-
self.left = left
18-
self.right = right
10+
class ListNode(Generic[T]):
11+
"""
12+
A list node in a singly-linked list.
13+
"""
14+
15+
def __init__(self, val: T, next: Self | None = None) -> None:
16+
self.val: T = val
17+
self.next: ListNode | None = next
18+
19+
20+
class TreeNode(Generic[T]):
21+
"""
22+
A tree node in a binary tree.
23+
"""
24+
25+
def __init__(self, val: T, left: Self | None = None, right: Self | None = None) -> None:
26+
self.val: T = val
27+
self.left: TreeNode[T] | None = right
28+
self.right: TreeNode[T] | None = left

0 commit comments

Comments
 (0)