Skip to content

Commit 44bbeb8

Browse files
committed
Reverse Linked List Iteratively
1 parent d047dda commit 44bbeb8

File tree

2 files changed

+47
-15
lines changed

2 files changed

+47
-15
lines changed

0-reverseLinkedList.js renamed to 206-reverseLinkedList.js

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ reverseList = (head) => {
77
if (next === null) {
88
return node;
99
}
10-
reverseListIteratively(node, next, next.next);
10+
return reverseListIteratively(node, next, next.next);
1111
};
1212

13-
console.log(reverseListIteratively(null, head, head.next));
14-
// return reverseListIteratively(null, head, head.next);
13+
return reverseListIteratively(null, head, head.next);
1514
};
1615

1716
function ListNode(val, next) {
@@ -32,15 +31,4 @@ printLinkedList = (head) => {
3231
console.log(node);
3332
node = node.next;
3433
}
35-
};
36-
37-
let reverseListIteratively = (prev, node, next) => {
38-
node.next = prev;
39-
if (next === null) {
40-
console.log(node);
41-
return node;
42-
}
43-
reverseListIteratively(node, next, next.next);
44-
};
45-
46-
console.log(reverseListIteratively(null, a, a.next));
34+
};

33-searchInRotatedSortedArray.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number}
5+
*/
6+
var search = function (nums, target) {
7+
if (middle === target) {
8+
return Math.floor(nums.length / 2);
9+
}
10+
let firstHalf = nums.slice(0, Math.ceil(nums.length / 2));
11+
let secondHalf = nums.slice(Math.ceil(nums.length / 2), nums.length);
12+
13+
console.log(middle);
14+
console.log(firstHalf);
15+
console.log(secondHalf);
16+
};
17+
18+
let findPivot = (nums) => {
19+
let findPivotRecursively = (nums, toAdd) => {
20+
let middleIndex = Math.floor(nums.length / 2);
21+
let middle = nums[middleIndex];
22+
let firstHalf = nums.slice(0, middleIndex);
23+
let secondHalf = nums.slice(middleIndex + 1, nums.length);
24+
console.log("firstHalf", firstHalf);
25+
console.log("secondHalf", secondHalf);
26+
27+
if (firstHalf[firstHalf.length - 1] < firstHalf[0]) {
28+
return findPivotRecursively(firstHalf, 0);
29+
} else if (secondHalf[secondHalf.length - 1] < secondHalf[0]) {
30+
return findPivotRecursively(secondHalf, middleIndex + 1);
31+
} else {
32+
if (middle > nums[middleIndex + 1]) {
33+
let value = middleIndex + 1 + toAdd;
34+
return value;
35+
} else {
36+
let value = middleIndex + toAdd;
37+
return value;
38+
}
39+
}
40+
};
41+
42+
return findPivotRecursively(nums, 0);
43+
};
44+
console.log(findPivot([7, 0, 1, 2, 4, 5, 6]));

0 commit comments

Comments
 (0)