Files
leetcode/19-remove-nth-node-from-end-of-list/19-remove-nth-node-from-end-of-list.py
T

32 lines
869 B
Python

# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def removeNthFromEnd(self, head, n):
"""
:type head: ListNode
:type n: int
:rtype: ListNode
"""
# Get length
counterNode = head
length = 0
while counterNode != None:
counterNode = counterNode.next
length = length + 1
# Readjust
if length == 1: return None
if length == n: return head.next
nodeBefore = head
for i in range(length - n - 1):
nodeBefore = nodeBefore.next
if n == 1:
nodeBefore.next = None
else:
nodeBefore.next = nodeBefore.next.next
return head