Java short and clean solution
public class Solution {\n    public ListNode removeNthFromEnd(ListNode head, int n) {\n        ListNode fast = head, slow = head;\n        while (fast != null) 
    public class Solution {\n    public ListNode removeNthFromEnd(ListNode head, int n) {\n        ListNode fast = head, slow = head;\n        while (fast != null) {\n        \tif (n-- < 0) {\n        \t\tslow = slow.next;\n        \t}\n        \tfast = fast.next;\n        }\n        if (n < 0) \n        \tslow.next = slow.next.next;\n        else \n        \thead = head.next;\n        \n        return head;\n    } }
['Java']