刪除鍊錶中等於給定值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向後移動一步 如果...