File tree 2 files changed +17
-8
lines changed
src/data-structures/linked-list
2 files changed +17
-8
lines changed Original file line number Diff line number Diff line change @@ -243,27 +243,27 @@ export default class LinkedList {
243
243
}
244
244
245
245
/**
246
- * Reverse a singly linked list use to three variables
247
- * @returns {ReservedLinkedList }
246
+ * Reverse a linked list.
247
+ * @returns {LinkedList }
248
248
*/
249
249
reverse ( ) {
250
250
let currNode = this . head ;
251
251
let prevNode = null ;
252
252
let nextNode = null ;
253
253
254
254
while ( currNode ) {
255
- // Store next node
255
+ // Store next node.
256
256
nextNode = currNode . next ;
257
257
258
- // Change next node of the current
258
+ // Change next node of the current node so it would link to previous node.
259
259
currNode . next = prevNode ;
260
260
261
- // Move forward prev and current nodes one step
261
+ // Move prevNode and currNode nodes one step forward.
262
262
prevNode = currNode ;
263
263
currNode = nextNode ;
264
264
}
265
265
266
- // Reset head, tail
266
+ // Reset head and tail.
267
267
this . tail = this . head ;
268
268
this . head = prevNode ;
269
269
Original file line number Diff line number Diff line change @@ -243,15 +243,24 @@ describe('LinkedList', () => {
243
243
expect ( ( ) => linkedList . reverseTraversal ( linkedList . head ) ) . toThrow ( ) ;
244
244
} ) ;
245
245
246
- it ( 'should reverse the singly linked list' , ( ) => {
246
+ it ( 'should reverse linked list' , ( ) => {
247
247
const linkedList = new LinkedList ( ) ;
248
248
249
+ // Add test values to linked list.
249
250
linkedList
250
251
. append ( 1 )
251
252
. append ( 2 )
252
253
. append ( 3 ) ;
253
254
254
255
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 ) ;
256
265
} ) ;
257
266
} ) ;
You can’t perform that action at this time.
0 commit comments