刪除鍊錶中等於給定值 val 的所有節點。
示例:
輸入: 1->2->6->3->4->5->6, val = 6
輸出: 1->2->3->4->5
這個題應該是比較簡單了,但是條件還是得稍微多想想,首先如果是空鍊錶那就一定是要返回空,此外如果表頭元素是val,那就需要移動表頭直到表頭元素不為val。之後就好說了,如果當前節點的下一節點的值為val,那麼就將當前節點指向下下一節點,否則就向前移動當前節點。c++的程式是稍顯複雜的程式,python程式是優化過的程式。
c++源**:
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
return head;}}
;
python3源**:
# definition for singly-linked list.
# class listnode:
# def __init__(self, x):
# self.val = x
# self.next = none
class
solution
:def
removeelements
(self, head, val)
:"""
:type head: listnode
:type val: int
:rtype: listnode
"""if head==
none
:return
none
while head!=
none
and head.val==val:
head = head.
next
p = head
while p!=
none
and p.
next
!=none
:if p.
next
.val == val:
p.next
= p.
next
.next
else
: p = p.
next
return head
演算法題 203移除鍊錶元素
給你乙個鍊錶的頭節點 head 和乙個整數 val 請你刪除鍊錶中所有滿足 node.val val 的節點,並返回 新的頭節點 示例 1 輸入 head 1,2,6,3,4,5,6 val 6 輸出 1,2,3,4,5 示例 2 輸入 head val 1 輸出 示例 3 輸入 head 7,7,...
leetcode刷題 237題 鍊錶中元素移除
1.知道待移除的節點的上乙個節點時,只要將上乙個節點的下乙個節點指向待移除節點的下個節點即可 如下 所示 public static void deletenode listnode prenode,listnode node 2.如果不知道要刪除節點的上乙個節點,只有待刪除的節點,也就是leetc...
LeetCode刷題筆記 203 移除鍊錶元素
刪除鍊錶中等於給定值 val 的所有節點。示例 輸入 1 2 6 3 4 5 6,val 6 輸出 1 2 3 4 5 sc遞迴寫的漂亮阿 在不能比較好掌握的地方要先腳踏實地,先實現,不要怕寫的 臭 在掌握的地方時候要想著更進一步 class solution head.next removeele...