019 刪除鍊錶的倒數第N個節點

2022-06-04 12:30:12 字數 560 閱讀 7009

1

//使用兩次遍歷

2 listnode* removenthfromend(listnode* head, int

n) 10

11 p =head;

12if (len ==n)

13return head->next;

14for (int j = 0; j < len - n -1; ++j)

1718 p->next = p->next->next;

19return

head;20}

2122

//使用單次遍歷,先使p移動n+1個位子,即剩下還有(len-n-1)個位子,對應面上面的j迴圈

23//

然後將q從頭移動,並同時p向後移動,從而可知q的位置就是倒數第n個位置

24 listnode* removenthfromend(listnode* head, int

n) 34 q->next = q->next->next;

35return

head;

36 }

刪除鍊錶倒數第N個節點

1.問題 給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.2.演算法 暴力破解法 先計算得出鍊錶的長度m,然後將鍊錶長度和所給倒數字置相減,即loc m n 1,得出刪除節點的前...

刪除鍊錶倒數第n個節點

leetcode 題目 給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.note n 鍊錶長度時,刪除頭節點 n 0時,不做任何操作。當第乙個指標first 比第二個指標領先n步,然後...

力扣日記 019 刪除鍊錶的倒數第n個節點

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?1 獲得表頭,通過迴圈遍歷鍊錶,建立乙個容器將節點儲存。2 要刪...