leetcode 203 刪除鍊錶中的節點

2021-08-21 20:31:37 字數 576 閱讀 9737

刪除鍊錶中等於給定值val的所有節點。

示例:

輸入:1->2->6->3->4->5->6,val= 6輸出:1->2->3->4->5
/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

else pre=cur;

cur=pre->next;

}return proot->next;

}};

這道題需要使用乙個指向頭節點的指標的小技巧,否則需要特別第處理頭指標,處理會複雜很多。

使用乙個指向頭節點的指標,這樣就能將這個處理過程統一起來。遍歷時使用兩個指標,乙個指向當前節點,乙個指向當前節點的前乙個節點。當當前節點的值與val的值不同時,更新兩個指標的值;當當前節點的值和val值相同時,刪除當前節點,同時更新這兩個指標。

LeetCode 203 刪除鍊錶中的元素

刪除鍊錶中等於給定值 val 的所有元素。示例給定 1 2 6 3 4 5 6,val 6返回 1 2 3 4 5 1 第一道鍊錶結構的題 2 兩種思路 1 遞迴的方式來做 2 創造乙個結點,while迴圈的方式來做 3 因為用遞迴的話會額外的占用o n 的空間複雜度,方法2更好一些 public ...

LeetCode 203 刪除鍊錶中的節點

刪除鍊錶中等於給定值 val 的所有節點。definition for singly linked list.struct listnode struct listnode removeelements struct listnode head,int val 示例 輸入 1 2 6 3 4 5 6...

LeetCode 203 移除鍊錶元素

刪除鍊錶中等於給定值val的所有節點。示例 輸入 1 2 6 3 4 5 6,val 6輸出 1 2 3 4 5建立初始節點dummy和cur,cur等於dummy。再建立節點point等於head。然後point不為空時進入迴圈,如果point val等於val,那麼將point向後移動一步 如果...