Skip to content

Commit 4fa9735

Browse files
committed
x
1 parent 2e7fbee commit 4fa9735

File tree

5 files changed

+109
-0
lines changed

5 files changed

+109
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* public class TreeNode {
4+
* int val;
5+
* TreeNode left;
6+
* TreeNode right;
7+
* TreeNode() {}
8+
* TreeNode(int val) { this.val = val; }
9+
* TreeNode(int val, TreeNode left, TreeNode right) {
10+
* this.val = val;
11+
* this.left = left;
12+
* this.right = right;
13+
* }
14+
* }
15+
*/
16+
class Solution {
17+
public boolean isBalanced(TreeNode root) {
18+
return dfs(root)[0] == 1;
19+
}
20+
21+
public int[] dfs(TreeNode root) {
22+
if (root == null) {
23+
return new int[]{1, 0};
24+
}
25+
26+
int[] left = dfs(root.left);
27+
int[] right = dfs(root.right);
28+
29+
boolean balanced = (left[0] == 1) && (right[0] == 1) && (Math.abs(left[1] - right[1]) <= 1);
30+
int height = 1 + Math.max(left[1], right[1]);
31+
32+
return new int[]{balanced ? 1 : 0, height};
33+
}
34+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* public class ListNode {
4+
* int val;
5+
* ListNode next;
6+
* ListNode() {}
7+
* ListNode(int val) { this.val = val; }
8+
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
9+
* }
10+
*/
11+
class Solution {
12+
public ListNode middleNode(ListNode head) {
13+
ListNode slow = head, fast = head;
14+
15+
while (fast != null && fast.next != null) {
16+
slow = slow.next;
17+
fast = fast.next.next;
18+
}
19+
return slow;
20+
}
21+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class LlNode:
2+
def __init__(self, data, prev=None, next=None):
3+
self.data = data
4+
self.prev = prev
5+
self.next = next
6+
7+
class BrowserHistory:
8+
9+
def __init__(self, homepage: str):
10+
self.current = LlNode(homepage)
11+
12+
def visit(self, url: str) -> None:
13+
self.current.next = LlNode(url, self.current)
14+
self.current = self.current.next
15+
16+
def back(self, steps: int) -> str:
17+
while self.current.prev and steps > 0:
18+
self.current = self.current.prev
19+
steps -= 1
20+
return self.current.data
21+
22+
def forward(self, steps: int) -> str:
23+
while self.current.next and steps > 0:
24+
self.current = self.current.next
25+
steps -= 1
26+
return self.current.data

Medium/LRU-Cache/solution.go

Whitespace-only changes.

Medium/LRU-Cache/solution.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class LRUCache(object):
2+
3+
def __init__(self, capacity):
4+
"""
5+
:type capacity: int
6+
"""
7+
8+
9+
def get(self, key):
10+
"""
11+
:type key: int
12+
:rtype: int
13+
"""
14+
15+
16+
def put(self, key, value):
17+
"""
18+
:type key: int
19+
:type value: int
20+
:rtype: None
21+
"""
22+
23+
24+
25+
# Your LRUCache object will be instantiated and called as such:
26+
# obj = LRUCache(capacity)
27+
# param_1 = obj.get(key)
28+
# obj.put(key,value)

0 commit comments

Comments
 (0)