@@ -29,7 +29,7 @@ public ListNode InsertNodeAt(int data, int pos) {
2929 if (pos == 1 ) { // insert at beginning
3030 ListNode newNode = CreateNewNode (data );
3131 newNode .setNext (headNode );
32- newNode .setPrevious (headNode . getprevious () );
32+ headNode .setPrevious (newNode );
3333 headNode = newNode ;
3434 } else { // insert in middle or end
3535 int currentPos = 1 ;
@@ -42,8 +42,11 @@ public ListNode InsertNodeAt(int data, int pos) {
4242 //System.out.println("CurrentNode Node " +previousNode.getData() + " ,Current Positon" +currentPos);
4343 ListNode tempNode = previousNode .getNext ();
4444 previousNode .setNext (CreateNewNode (data ));
45+ previousNode .getNext ().setPrevious (previousNode );
46+ if (tempNode !=null )
47+ tempNode .setPrevious (previousNode .getNext ());
4548 previousNode .getNext ().setNext (tempNode );
46-
49+
4750 }
4851
4952 noOfNodes ++;
@@ -60,7 +63,7 @@ public ListNode CreateNewNode(int data) {
6063 public int length () {
6164 int length = 0 ;
6265 ListNode currentNode = headNode ;
63- while (currentNode != null ){
66+ while (( currentNode != null ) ){
6467 currentNode = currentNode .getNext ();
6568 length ++;
6669 }
@@ -93,7 +96,7 @@ public ListNode NodeAt(int pos) {
9396 public void PrintLinkedList () {
9497 ListNode currentNode = headNode ;
9598 System .out .print (" Linked List:: " );
96- while (currentNode != null ){
99+ while (( currentNode != null ) ){
97100 System .out .print (currentNode .getData () + " " );
98101 currentNode = currentNode .getNext ();
99102 }
@@ -156,6 +159,7 @@ public ListNode RemoveNodeAt(int pos ) {
156159 if (pos == 1 ) { // insert at beginning
157160 ListNode currentNode = headNode ;
158161 headNode = headNode .getNext ();
162+ headNode .setPrevious (null );
159163 currentNode = null ;
160164 } else { // insert in middle or end
161165 int currentPos = 1 ;
@@ -168,6 +172,8 @@ public ListNode RemoveNodeAt(int pos ) {
168172 //System.out.println("CurrentNode Node " +previousNode.getData() + " ,Current Positon" +currentPos);
169173 ListNode tempNode = previousNode .getNext ();
170174 previousNode .setNext (previousNode .getNext ().getNext ());
175+ if (previousNode .getNext ()!=null )
176+ previousNode .getNext ().setPrevious (previousNode );
171177 tempNode = null ;
172178
173179 }
0 commit comments