Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2feec48

Browse files
committed
Add more test cases for linked list reversion.
1 parent 4989a6a commit 2feec48

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

‎src/data-structures/linked-list/LinkedList.js‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -243,27 +243,27 @@ export default class LinkedList {
243243
}
244244

245245
/**
246-
* Reverse a singly linked list use to three variables
247-
* @returns {ReservedLinkedList}
246+
* Reverse a linked list.
247+
* @returns {LinkedList}
248248
*/
249249
reverse() {
250250
let currNode = this.head;
251251
let prevNode = null;
252252
let nextNode = null;
253253

254254
while (currNode) {
255-
// Store next node
255+
// Store next node.
256256
nextNode = currNode.next;
257257

258-
// Change next node of the current
258+
// Change next node of the current node so it would link to previous node.
259259
currNode.next = prevNode;
260260

261-
// Move forward prev and current nodes one step
261+
// Move prevNode and currNode nodes one step forward.
262262
prevNode = currNode;
263263
currNode = nextNode;
264264
}
265265

266-
// Reset head, tail
266+
// Reset head and tail.
267267
this.tail = this.head;
268268
this.head = prevNode;
269269

‎src/data-structures/linked-list/__test__/LinkedList.test.js‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,15 +243,24 @@ describe('LinkedList', () => {
243243
expect(() => linkedList.reverseTraversal(linkedList.head)).toThrow();
244244
});
245245

246-
it('should reverse the singly linked list', () => {
246+
it('should reverse linked list', () => {
247247
const linkedList = new LinkedList();
248248

249+
// Add test values to linked list.
249250
linkedList
250251
.append(1)
251252
.append(2)
252253
.append(3);
253254

254255
expect(linkedList.toString()).toBe('1,2,3');
255-
expect(linkedList.reverse().toString()).toBe('3,2,1');
256+
expect(linkedList.head.value).toBe(1);
257+
expect(linkedList.tail.value).toBe(3);
258+
259+
// Reverse linked list.
260+
linkedList.reverse();
261+
262+
expect(linkedList.toString()).toBe('3,2,1');
263+
expect(linkedList.head.value).toBe(3);
264+
expect(linkedList.tail.value).toBe(1);
256265
});
257266
});

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /