哈哈,没想到,慢慢已经坚持了24天呢
这周事情有点多,但还是坚持刷着题,速度还可以快起来了呢
给自己一点鼓励
这周开始刷的其实是腾讯的面试高频题目,工作了十年,重新回过来,看看各种题目,还是挺熟悉的,很喜欢这些“有解”的问题,也在适应更多“无解”的问题
好,不说废话了,今天这道题是链表:
https://leetcode-cn.com/problems/delete-node-in-a-linked-list/description/
可能是当时学数据结构的时候,对于链表有点先天性恐惧吧,刷题往往都会跳过去,嗯,删除链表里的一个节点。
思路就是把后面一个节点的值复制给需要删除的节点的值,然后把这个节点的next指针指向next节点的next指针就可以了,其实就是一个赋值的过程,想清楚的话,代码真的就只有两行(也是因为这道题比较简单,限制很多的,比如不会是尾节点之类的)
好,上代码吧
# 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
网友评论