leetcode 237 Delete Node in a Linked List

题目链接https://leetcode.com/problems/delete-node-in-a-linked-list/

思路分析:题目要求在链表中删除给定的node,该node不为链表中的tail。因为没有node的前一个结点,所以想要直接从linked list中直接删除结点node是不可能的。

根据题目信息,可以通过将node.next结点的值赋给node,并删除node.next结点,则效果与直接删除node结点相同。

 

代码如下:

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    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
posted @ 2016-03-23 22:12  Leptus  阅读(135)  评论(0编辑  收藏  举报