Design Browser History LeetCode solution in Python

1
# Runtime: 702 ms (Top 9.12%) | Memory: 16.8 MB (Top 36.03%)
2
class Node:
3
def __init__(self, val):
4
self.val = val
5
self.prev = None
6
self.next = None
7

8

9
class BrowserHistory:
10
def __init__(self, web):
11
self.Node = Node(web)
12
self.ptr = self.Node
13

14
def visit(self, web):
15
self.newWeb = Node(web)
16
self.newWeb.prev = self.ptr
17
self.ptr.next = self.newWeb
18
self.ptr = self.ptr.next
19

20
def back(self, steps):
21
i = 0
22
while i < steps:
23
if self.ptr.prev:
24
self.ptr = self.ptr.prev
25
else:
26
break
27
i += 1
28
return self.ptr.val
29

30
def forward(self, steps):
31
i = 0
32
while i < steps:
33
if self.ptr.next:
34
self.ptr = self.ptr.next
35
else:
36
break
37
i += 1
38
return self.ptr.val

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0