insert At Middle - find middle - delete Middle

Insert At Middle
------------------------
public void insertAtMiddle(int data) {
Node fast = head;
Node slow = head;
Node prev = null;
while(fast!=null && fast.next!=null) {
fast = fast.next.next;
prev = slow;
slow = slow.next;
}
Node node = new Node(data);
prev.next = node;
node.next = slow;

}

Find Middle
-------------------------
public Node findMiddle() {
Node fast = head;
Node slow = head;
Node prev = null;
while(fast!=null && fast.next!=null) {
fast = fast.next.next;
prev = slow;
slow = slow.next;
}

prev.next = slow.next;

return slow;
}

Delete Middle
------------------------------
public void deleteAtMiddle(int data) {
Node fast = head;
Node slow = head;
Node prev = null;
while(fast!=null && fast.next!=null) {
fast = fast.next.next;
prev = slow;
slow = slow.next;
}
prev.next = slow.next;
}

Comments