Movatterモバイル変換


[0]ホーム

URL:


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

Commitc5101e3

Browse files
chore: add reverse to singly linked list (#1241)
* Fix: Reverse Singly Linked List* Added reverse in SinglyLinkedList* Added reverse in SinglyLinkedList* Changes made
1 parentb88128d commitc5101e3

File tree

4 files changed

+50
-0
lines changed

4 files changed

+50
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/** A LinkedList based solution to reverse a number
2+
Problem Statement: Given a number such that each of its digit is stored in a singly linked list. Reverse the linked list and return the head of the linked list Link for the Problem: https://leetcode.com/problems/reverse-linked-list/ */
3+
classReverseSinglyLinkedList{
4+
solution(head){
5+
letprev=null
6+
letnext=null
7+
while(head){
8+
next=head.next
9+
head.next=prev
10+
prev=head
11+
head=next
12+
}
13+
returnprev
14+
};
15+
}
16+
export{ReverseSinglyLinkedList}

‎Data-Structures/Linked-List/SinglyLinkedList.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,20 @@ class LinkedList {
274274
log(){
275275
console.log(JSON.stringify(this.headNode,null,2))
276276
}
277+
278+
// Method to reverse the LinkedList
279+
reverse(){
280+
lethead=this.headNode
281+
letprev=null
282+
letnext=null
283+
while(head){
284+
next=head.next
285+
head.next=prev
286+
prev=head
287+
head=next
288+
}
289+
this.headNode=prev
290+
};
277291
}
278292

279293
export{Node,LinkedList}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import{ReverseSinglyLinkedList}from'../ReverseSinglyLinkedList'
2+
import{Node}from'../SinglyLinkedList'
3+
describe('ReverseSinglyLinkedList',()=>{
4+
it('Reverse a Number Represented as Linked List',()=>{
5+
constheadNode=newNode(3)
6+
headNode.next=newNode(4)
7+
headNode.next.next=newNode(1)
8+
constexpected=newNode(1)
9+
expected.next=newNode(4)
10+
expected.next.next=newNode(3)
11+
constreverseSinglyLinkedList=newReverseSinglyLinkedList()
12+
expect(reverseSinglyLinkedList.solution(headNode)).toEqual(expected)
13+
})
14+
})

‎Data-Structures/Linked-List/test/SinglyLinkedList.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,4 +247,10 @@ describe('SinglyLinkedList', () => {
247247
headNode.rotateListRight(5)
248248
expect(headNode.get()).toEqual([20,30,40,50,10])
249249
})
250+
251+
it('Reverse a Linked List',()=>{
252+
constlist=newLinkedList([4,3,1])
253+
list.reverse()
254+
expect(list.get()).toEqual([1,3,4])
255+
})
250256
})

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp