給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。
示例:給定乙個鍊錶: 1->2->3->4->5, 和 n = 2.
當刪除了倒數第二個節點後,鍊錶變為 1->2->3->5.
說明:給定的 n 保證是有效的。
高階:你能嘗試使用一趟掃瞄實現嗎?
使用兩個指標,他們的間隔剛好是n,使得當前乙個指標劃出鍊錶時,後乙個指標剛好指向要移除的元素的前一位。
注:為防止元素剛好一位且被刪除導致的空指標問題,應在對鍊錶操作之前新增頭指標,操作結束之後去除頭指標
/**
* definition for singly-linked list.
* struct listnode
* listnode(int x) : val(x), next(nullptr) {}
* listnode(int x, listnode *next) : val(x), next(next) {}
* };
*/class solution
while(front != nullptr )
listnode *t = last->next;
last->next = t->next;
head = ans->next;
delete ans;
return head;
}};
鍊錶3 一次遍歷找到中間節點
一次遍歷就能夠找到中間節點,怎樣實現的呢?讓我們直奔主題 思想 首先經過兩次遍歷可以找到中間的節點,這個是毋庸置疑的,第一次檢視個數,第二次直接找出來了。但是我今天要記錄的就是怎樣通過一次的遍歷,就把中間的節點給找到!其實,我們可以這樣 定義兩個指標變數,當然是相應的結構體型別的啊,在判斷多餘兩個節...
mysql一次刪除兩張表 MySQL一次刪除兩張表
今天遇到了同時刪除兩張表的問題,試了很多方法都沒成功,如果在hibernate的話那就簡單了直接使用級聯就okay了,但用sql語句一時還是沒做出來在網上找到了解決方法 我用的第三種方法 商品表 product id name 表 image id product id name 1 delete ...
一次手機問題的解決
過年前買的諾基亞手機今天突然出了問題,具體症狀為 簡訊發不出去,打13800138000出現無網路訊號的提示。我想不可能被停機了,因為剛充了值。於是上網搜尋此類問題的解決辦法,找到一條相關的 1 你把手機設定裡的 網路設定 設定為gsm 就行,然後搜尋網路方式選擇 手動,選擇中國移動就行,別用自動 ...