LintCode 刪除鍊錶中倒數第n個節點

2021-07-30 07:15:15 字數 543 閱讀 7598

題目

給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。

樣例

給出鍊錶1->2->3->4->5->null和 n = 2.

刪除倒數第二個節點之後,這個鍊錶將變成1->2->3->5->null.

思路

鍊錶中一共num個節點,我們從頭結點開始遍歷設定p,cur兩個指標。當p走了n+1步時,cur開始走,也就是最後cur走了num - n - 1步,當cur停止時,距終點n + 1步,也就是我們要求的。

**

listnode *removenthfromend(listnode *head, int n) 

if(n == num)

listnode *q = cur->next;

cur->next = q->next;

free(q);

return head;

}

Lintcode 174 刪除鍊錶中倒數第n個節點

1.問題描述 給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。2.解題思路 head先走了n步,這樣head和temp之間差n個節點,之後head和temp一起往後移動,當head移動到了null的時候,temp移動到了倒數第n 1個節點的位置,之時候改變temp next將他指向他的下乙...

LintCode 刪除鍊錶中倒數第n個節點

1.描述 給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。樣例 給出鍊錶1 2 3 4 5 null和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.2.分析 首先思路和查詢鍊錶中倒數第n個節點是相同的,只要找到了才能刪除它。倒數第n個節點根據鍊錶的長度轉換為正數...

刪除鍊錶中倒數第n個節點 LintCode

給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。注意事項 鍊錶中的節點個數大於等於n 樣例 給出鍊錶1 2 3 4 5 null和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.挑戰 o n 時間複雜度 ifndef c174 h define c174 h in...