Descripción Título
de entrada una lista enlazada, devuelve una lista de acuerdo con el orden de la cola de la cabeza de ArrayList.
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
# write code here
res = []
while listNode != None:
res.append(listNode.val)
listNode = listNode.next
return res[::-1]
Descripción Título
a una lista enlazada, en donde si los comprende el anillo, encontrar la lista de nodos anillo de entrada, de lo contrario, null salidas.
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def EntryNodeOfLoop(self, pHead):
# write code here
dict1 = {}
while pHead != None:
if pHead.val not in dict1:
dict1[pHead.val] = 1
else:
return pHead
pHead = pHead.next
Descripción del título
en una lista ordenados vinculado nodos duplicados, eliminar la lista de nodos duplicados, el nodo no conserva repetido, devuelve la lista de punteros de cabeza. Por ejemplo, la lista 1-> 2-> 3-> 3-> 4-> 4-> 5 se trata 1-> 2-> 5
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteDuplication(self, pHead):
# write code here
if not pHead or not pHead.next:
return pHead
head = ListNode(0)
head.next = pHead
pre = head
last = head.next
while pre and last:
if last.next and (last.next.val == last.val):
while last.next and (last.next.val == last.val):
last = last.next
pre.next = last.next
last = last.next
else:
pre = pre.next
last = last.next
return head.next