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

2021-08-07 04:16:34 字數 657 閱讀 3456

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

注意事項:

鍊錶中的節點個數大於等於n

樣例:

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

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

挑戰 :

o(n)時間複雜度

#ifndef c174_h

#define c174_h

#include

using namespace std;

class listnode

};class solution

if (len < n||n<=0)

return null;

listnode *node = new listnode(-1);

node->next = head;

listnode *p = node, *q = head;

int count = len - n;

while (count != 0)

p->next = q->next;

q->next = null;

return node->next;

}};#endif

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

刪除鍊錶中倒數第n個節點 給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。樣例 給出鍊錶1 2 3 4 5 null 和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.definition for listnode.public class listnode pu...

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

給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。注意事項 鍊錶中的節點個數大於等於n 樣例 給出鍊錶1 2 3 4 5 null和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.定義兩個指標,slow fast fast先先前走n步後 slow和fast一起走,直...

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

給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。注意事項 鍊錶中的節點個數大於等於n 樣例 給出鍊錶1 2 3 4 5 null和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.挑戰 o n 時間複雜度 如果先遍歷鍊錶,得出鍊錶結點個數,然後再第二次遍歷找出倒數第...