作者oin1104 (是oin的說)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Sun Mar 3 11:55:55 2024
突然發現有點久沒紀錄= =
今天每日是
19. remove Nth Node from end of list
叫你刪除從後面數的第N個節點
解法:
直接先看看有幾個
然後再算要刪的是從前面數的第幾個
超級單純的做法
等等來看其他人怎麼寫的
嘿嘿嘿
class Solution {
public:
ListNode* removeNthFromEnd(ListNode* head, int n)
{
int all = 0 ;
ListNode* go = head;
while(go != NULL)
{
go = go->next;
all ++;
}
if(all == 1)return NULL;
if(n == all)return head->next;
go = head;
all = all - n;
ListNode* pre ;
for(int i = 0 ; i < all-1 ; i++)
{
pre = go;
go = go->next;
}
if(go->next->next != NULL)
{
go->next = go->next->next;
return head;
}
if(go->next->next == NULL)
{
go->next = NULL;
}
return head;
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.57.64 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1709438157.A.498.html
推 v6SpcNwZQNtR: 大師 03/03 12:04
推 JIWP: 大師,這題好難 03/03 12:05