forked from neetcode-gh/leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1472-design-browser-history.java
More file actions
42 lines (36 loc) · 903 Bytes
/
1472-design-browser-history.java
File metadata and controls
42 lines (36 loc) · 903 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class ListNode{
ListNode back;
String url;
ListNode forward;
public ListNode(String url){
this.url = url;
back = forward = null;
}
}
class BrowserHistory {
ListNode head;
ListNode current;
public BrowserHistory(String homepage) {
head = new ListNode(homepage);
current = head;
}
public void visit(String url) {
current.forward = new ListNode(url);
current.forward.back = current;
current = current.forward;
}
public String back(int steps) {
while(steps>0 && current.back!=null){
current = current.back;
steps--;
}
return current.url;
}
public String forward(int steps) {
while(steps>0 && current.forward!=null){
current = current.forward;
steps--;
}
return current.url;
}
}