File tree Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -105,6 +105,30 @@ class SinglyLinkedList {
105105 }
106106 return false ;
107107 }
108+
109+ insert ( index , val ) {
110+ if ( index < 0 || index > this . length ) return false ;
111+
112+ if ( index === index . length ) {
113+ this . push ( val ) ;
114+ return true ;
115+ // or !!this.push(val)
116+ }
117+ if ( index === 0 ) {
118+ this . unshift ( val ) ;
119+ return true ;
120+ // or !!this.unshift(val);
121+ }
122+
123+ let newNode = new Node ( val ) ;
124+ let prev = this . get ( index - 1 ) ;
125+ let temp = prev . next ;
126+ prev . next = newNode ;
127+ newNode . next = temp ;
128+
129+ this . length ++ ;
130+ return true ;
131+ }
108132}
109133
110134let element = new SinglyLinkedList ( ) ;
@@ -115,4 +139,5 @@ element.push('test3');
115139element . unshift ( 'test4' ) ;
116140element . shift ( ) ;
117141element . set ( 0 , 'Dhari' ) ;
118- console . log ( element . get ( 0 ) ) ;
142+ element . insert ( 1 , 'Wow' ) ;
143+ console . log ( element . get ( 1 ) ) ;
You can’t perform that action at this time.
0 commit comments