My short C++ solution
class Solution\n    {\n    public:\n        ListNode* removeNthFromEnd(ListNode* head, int n)\n        {\n            ListNode** t1 = &head, *t2 = head;\n      
    class Solution\n    {\n    public:\n        ListNode* removeNthFromEnd(ListNode* head, int n)\n        {\n            ListNode** t1 = &head, *t2 = head;\n            for(int i = 1; i < n; ++i)\n            {\n                t2 = t2->next;\n            }\n            while(t2->next != NULL)\n            {\n                t1 = &((*t1)->next);\n                t2 = t2->next;\n            }\n            *t1 = (*t1)->next;\n            return head;\n        }\n    };
[]