问题遇到的现象和发生背景
力扣19题
问题相关代码,请勿粘贴截图
class Solution {
public:
int getlength(ListNode* head)
{
int length=0;
while(head)
{
length++;
head=head->next;
}
return length;
}
ListNode* GetElem(ListNode* head,int n)
{
ListNode* b=head->next;
int j=1;
if(n==0)
{
return NULL;
}
while(b&&j<n)
{
j++;
b=b->next;
}
return b;
}
ListNode* removeNthFromEnd(ListNode* head, int n) {
int length=getlength(head);
int x=length-n;
ListNode* q=nullptr;
ListNode* p=nullptr;
p=GetElem(head,x);
q=p->next;
p->next=q->next;
return head;
}
};
运行结果及报错内容
输入1 2 3 4 5 和2,输出结果为1 2 3 4