Even after Odd Linked list problem

It fails one of the test cases idk why.

public void evenAfterOdd() throws Exception {

	int index = 0;
	Node node = this.head;
	while(node!=null){
		if(node.data%2==1){
			int temp = node.data;
			node.data = getNodeAt(index).data;
			getNodeAt(index).data = temp;
			index++;
		}
		node = node.next;
	}
}

hey @satwik7142
try for this input
7
1 2 4 3 8 5 6
correct output : 1 3 5 2 4 8 6
your code gives :1 3 5 2 8 4 6