LeetCode 203 移除鍊錶元素

2021-09-25 09:31:31 字數 772 閱讀 8616

題目:

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

示例:

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

輸出: 1->2->3->4->5

筆記解析

刷題就***是個踩坑的過程,閃一下子卻很舒服,因為會有成長~

坑點:(1)注意有多個要刪除的節點鏈結

例子:【1,2,6,6,6,3,4】

解法:將三種類別分開討論,只要是cur->next->val == val

的就保持cur指標的位置不變,其餘情況均向後跳一步

(2)注意整個鍊錶只有乙個數,且整個數就是要刪除的數

例子:【1,1,1,1,1】

解法:將cur->next!=null的限制條件放到迴圈內部
ps:最好將要刪除的節點記憶體釋放掉

code

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution else if(cur->next && cur->next->val == val)else

}return tmp;}};

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向後移動一步 如果...

leetcode 203 移除鍊錶元素

解題思路 方法一 1.新建乙個節點,遍歷鍊錶,如果值相等,連線到下乙個節點,原指標下移.public static listnode removeelements listnode head,int val listnode heada head listnode cur new listnode ...

Leetcode 203 移除鍊錶元素

刪除鍊錶中等於給定值 val 的所有節點。示例 輸入 1 2 6 3 4 5 6,val 6 輸出 1 2 3 4 5 這個題目比較簡單,可以考慮用遞迴的方式實現 在某乙個結點處,如果下乙個結點等於val,則只需要丟掉該結點,但是如果該節點不等於val,則應該保留該結點。邊界條件就是,如果在到了最後...