以下为我的天梯积分规则:
每日至少一题:一题积分+10分
若多做了一题(或多一种方法解答),则当日积分+20分(+10+10)
若做了三道以上,则从第三题开始算+20分(如:做了三道题则积分-10+10+20=40;做了四道题则积分–10+10+20+20=60)
初始分为100分
若差一天没做题,则扣积分-10分(周六、周日除外注:休息)
坚持!!!
初级算法
刷题目录
链表
题干
请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。
题目数据保证需要删除的节点 不是末尾节点 。
示例1:
输入:head = [4,5,1,9], node = 5
输出:[4,1,9]
解释:指定链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为4 -> 1 -> 9
示例2:
输入:head = [4,5,1,9], node = 1
输出:[4,5,9]
解释:指定链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9
示例3:
输入:head = [1,2,3,4], node = 3
输出:[1,2,4]
示例4:
输入:head = [0,1], node = 0
输出:[1]
示例5:
输入:head = [-3,5,-99], node = -3
输出:[5,-99]
离谱
分析:
出题人是认真的吗???
确定这是一道算法题???
我们获取不到待删除的节点的前一个节点???这
只能从后一个节下文章,因为题干说了“题目数据保证需要删除的节点 不是末尾节点 。”
反正就很离谱。那咱们就试试
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def deleteNode(self, node): """ :type node: ListNode :rtype: void Do not return anything, modify node in-place instead. """ node.val = node.next.val # 将待删除的节点的下一个节点赋值给上一个节点 node.next = node.next.next # 然后将删除了的节点的下一个节点上传给它
就很无语!!!