题解 | #删除链表的节点#

删除链表的节点

http://www.nowcoder.com/practice/f9f78ca89ad643c99701a7142bd59f5d

直接删除法

遍历链表,用pre记录当前正在访问节点的前一个节点,找到目标节点,结合pre实现删除。

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
# 
# @param head ListNode类 
# @param val int整型 
# @return ListNode类
#
class Solution:
    def deleteNode(self , head: ListNode, val: int) -> ListNode:
        # 引入头节点
        result = pre = ListNode(0)
        result.next = head
        # 遍历链表
        while head:
            # 找到目标节点,删除该节点
            if head.val == val:
                pre.next = head.next
                break
            else:
                head =head.next
                pre = pre.next
        return result.next
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务