Design Browser History LeetCode solution in Python
1# Runtime: 702 ms (Top 9.12%) | Memory: 16.8 MB (Top 36.03%)2class Node:3def __init__(self, val):4self.val = val5self.prev = None6self.next = None789class BrowserHistory:10def __init__(self, web):11self.Node = Node(web)12self.ptr = self.Node1314def visit(self, web):15self.newWeb = Node(web)16self.newWeb.prev = self.ptr17self.ptr.next = self.newWeb18self.ptr = self.ptr.next1920def back(self, steps):21i = 022while i < steps:23if self.ptr.prev:24self.ptr = self.ptr.prev25else:26break27i += 128return self.ptr.val2930def forward(self, steps):31i = 032while i < steps:33if self.ptr.next:34self.ptr = self.ptr.next35else:36break37i += 138return self.ptr.val