Skip to content

Commit 2feec48

Browse files
committedSep 8, 2018
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

+6-6
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

+11-2
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)
Please sign in to comment.