Weekly Contest 223 Q2 TLE

@LeetCode I solved q2 in O(n) but got a TLE. And went on to solve q3. After that I came back and submitted the same code and it was accepted. That's quite unfair. I wasted a lot of time on it and even got penalized for it. Will my first submission be re-evaluated?
My same code is fetching me around 900ms runtime i.e faster than 78%.
This is what i got on my TLE submission "132 / 132 test cases passed, but took too long."

ListNode* swapNodes(ListNode* head, int k) {
	ListNode* ptr = head;
	int len = 0;
	while(ptr)
	{
		ptr = ptr->next;
		len++;
	}
	cout<<len<<" ";
	if(len%2!=0 && k == (len/2)+1) return head;
	if(len%2!=0 && k > (len/2)+1) k = len-k+1;
	if(len%2==0 && k>(len/2)) k = len-k+1;
	ptr = head;
	int a = k-1;
	int b = len-k;
	while(a-->0)
		ptr = ptr->next;
	ListNode* ptr2 = head;
	while(b-->0)
		ptr2 = ptr2->next;
	swap(ptr->val,ptr2->val);
	return head;
}
Comments (0)