LeetCode 203 移除鍊錶元素

2021-10-01 22:59:48 字數 1945 閱讀 8216

leetcode題目位址

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

示例:

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

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

/**

* @auther jintao.zhang

* @date 2020-1-6 10:58

*//**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

}public listnode removeelements

(listnode head,

int val)

//如果經過上述步驟後,整個鍊錶為空了,此時直接返回head節點

if(head == null)

//此時下面步驟來處理刪除中間節點的邏輯

listnode pre = head;

while

(pre.next != null)

else

pre = pre.next;

}return head;

}}

/**

* @auther jintao.zhang

* @date 2020-1-6 10:58

*//**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

}//不考慮刪除節點的記憶體溢位的情況,可以簡寫成下面的方法

public listnode removeelements

(listnode head,

int val)

//如果經過上述步驟後,整個鍊錶為空了,此時直接返回head節點

if(head == null)

//此時下面步驟來處理刪除中間節點的邏輯

listnode pre = head;

while

(pre.next != null)

else

pre = pre.next;

}return head;

}}

/**

* @auther jintao.zhang

* @date 2020-1-6 10:58

*//**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

}//增加虛擬頭結點dummyhead節點

public listnode removeelements

(listnode head,

int val)

else

pre = pre.next;

}return dummyhead.next;

}}

利用遞迴方法實現:

/**

* @auther jintao.zhang

* @date 2020-1-6 10:58

*//**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

}//增加虛擬頭結點dummyhead節點

public listnode removeelements

(listnode head,

int val)

}

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 移除鍊錶元素

題目 刪除鍊錶中等於給定值 val 的所有節點。示例 輸入 1 2 6 3 4 5 6,val 6 輸出 1 2 3 4 5 筆記解析 刷題就 是個踩坑的過程,閃一下子卻很舒服,因為會有成長 坑點 1 注意有多個要刪除的節點鏈結 例子 1,2,6,6,6,3,4 解法 將三種類別分開討論,只要是cu...

leetcode 203 移除鍊錶元素

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