Sir its giving me correct answer in my ide but not able to submit it here

public void appendLastN(int k) throws Exception {
int n=this.size;
int z=k%n;
//int currnode=n-k+1;
Node curr=this.head;
Node prev=this.head;
int count=0;
for(int i=1;i<=n-z;i++) {
prev=curr;
curr=curr.next;

	}
	prev.next=null;
	Node temp=curr;
	while(temp.next!=null && z<n) {
		temp=temp.next;
		count++;
		
	}
	//System.out.println(temp.data);
	temp.next=this.head;
	this.head=curr;
}

@karamjitverma89,
Can you please share the complete code that you are submitting. Also use https://ide.codingblocks.com/ to share your code

package LinkedList.Questions; import java.util.*; public class kAppend { private class Node { int data; Node next; Node(int data, Node next) { this.data = data; this.next = next; } } private Node head; private Node tail; private int size; public kAppend() { this.head = null; this.tail = null; this.size = 0; } public kAppend(Node head, Node tail, int size) { this.head = head; this.tail = tail; this.size = size; } // O(1) public int size() { return this.size; } // O(1) public boolean isEmpty() { return this.size() == 0; } // O(1) public int getFirst() throws Exception { if (this.isEmpty()) { throw new Exception(“List is empty.”); } return this.head.data; } // O(1) public int getLast() throws Exception { if (this.isEmpty()) { throw new Exception(“List is empty.”); } return this.tail.data; } // O(N) public int getAt(int idx) throws Exception { Node temp = this.getNodeAt(idx); return temp.data; } // O(N) private Node getNodeAt(int idx) throws Exception { if (this.isEmpty()) { throw new Exception(“List is empty”); } if (idx < 0 || idx >= this.size()) { throw new Exception(“Invalid arguments”); } Node retVal = this.head; for (int i = 0; i < idx; i++) { retVal = retVal.next; } return retVal; } // O(1) public void addFirst(int data) { Node node = new Node(data, this.head); if (this.size() == 0) { this.head = node; this.tail = node; } else { this.head = node; } this.size++; } // O(1) public void addLast(int data) { Node node = new Node(data, null); if (this.size() == 0) { this.head = node; this.tail = node; } else { this.tail.next = node; this.tail = node; } this.size++; } // O(n) public void addAt(int idx, int data) throws Exception { if (idx < 0 || idx > this.size()) { throw new Exception(“Invalid arguments”); } if (idx == 0) { this.addFirst(data); } else if (idx == this.size()) { this.addLast(data); } else { Node nm1 = this.getNodeAt(idx - 1); Node n = nm1.next; Node node = new Node(data, n); nm1.next = node; this.size++; } } // O(1) public int removeFirst() throws Exception { if (this.isEmpty()) { throw new Exception(“List is empty”); } int retVal = this.head.data; if (this.size() == 1) { this.head = null; this.tail = null; } else { this.head = this.head.next; } this.size–; return retVal; } // O(n) public int removeLast() throws Exception { if (this.isEmpty()) { throw new Exception(“List is empty”); } int retVal = this.tail.data; if (this.size() == 1) { this.head = null; this.tail = null; } else { Node sm2 = this.getNodeAt(this.size() - 2); sm2.next = null; this.tail = sm2; } this.size–; return retVal; } // O(n) public int removeAt(int idx) throws Exception { if (this.isEmpty()) { throw new Exception(“List is empty”); } if (idx < 0 || idx >= this.size()) { throw new Exception(“Invalid arguments”); } if (idx == 0) { return this.removeFirst(); } else if (idx == this.size() - 1) { return this.removeLast(); } else { Node nm1 = this.getNodeAt(idx - 1); Node n = nm1.next; Node np1 = n.next; nm1.next = np1; this.size–; return n.data; } } // O(n) public void display() { Node node = this.head; while (node != null) { System.out.print(node.data + " "); node = node.next; } //System.out.println(“END”); } public void appendLastN(int k) throws Exception { int n=this.size; int z=k%n; //int currnode=n-k+1; Node curr=this.head; Node prev=this.head; int count=0; for(int i=1;i<=n-z;i++) { prev=curr; curr=curr.next; } prev.next=null; Node temp=curr; while(temp.next!=null && z<n) { temp=temp.next; count++; } //System.out.println(temp.data); temp.next=this.head; this.head=curr; } public static void main(String[] args) throws Exception { Scanner scn = new Scanner(System.in); int N = scn.nextInt(); //int M = scn.nextInt(); kAppend list = new kAppend(); for (int i = 0; i < N; i++) { list.addLast(scn.nextInt()); } int n= scn.nextInt(); list.appendLastN(n); list.display(); } }

@karamjitverma89,
Use https://ide.codingblocks.com/ to share your code. Select the correct language and copy your code. Press ctrl+s. Click on save. Then just share the link.

@karamjitverma89,
https://ide.codingblocks.com/s/278747 corrected code. I have added comments on the lines I have added.

Errors:
For the input:
7
1 2 2 1 8 5 6
7

Your code will give a null pointer exception.
For that we add n = n % N;
And we call appendLast function only if n!=0.

@karamjitverma89,
Also, change the class name to Main else you would get error while submission.

Change all the constructors to Main as well.

Thank you so much sir

1 Like