public ListNode middleNode(ListNode start){
        if(start.next == null)
        	return start;
    	ListNode fast = start;
        ListNode slow = start;
    	while(fast.next != null && fast.next.next != null){
    		fast = fast.next.next;
    		start = slow;
    		slow = slow.next;
    	}
    	return start;
    }