題目
給定乙個鍊錶,刪除鍊錶中倒數第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...