Ich versuche meine Lösung zu einem Problem zu bekommen, um den Online-Richter auf Leetcode zu übergeben. Das Problem ist: Eine geschachtelte Liste von Ganzzahlen vorausgesetzt, implementieren Sie einen Iterator, um ihn zu reduzieren.Abflachung einer Liste mit Sublisten
Jedes Element ist entweder eine ganze Zahl oder eine Liste - deren Elemente auch ganze Zahlen oder andere Listen sein können.
Beispiel 1: die Liste gegeben [[1,1], 2, [1,1]],
Durch nächsten wiederholten Aufruf bis hasNext false zurückgibt, sollte die Reihenfolge der Elemente zurückgeführt, indem der nächste sein: [1,1,2,1,1]
Das vollständige Problem ist here.
Das Problem stellt fest, dass es die Klasse instanziiert wird, das den folgenden Code implementiert wird:
# Your NestedIterator object will be instantiated and called as such:
# i, v = NestedIterator(nestedList), []
# while i.hasNext(): v.append(i.next())
Im Folgenden meine Lösung ist:
class NestedIterator(object):
currIdx = 0
def __init__(self, nestedList):
"""
Initialize your data structure here.
:type nestedList: List[NestedInteger]
"""
newFlattenedList = []
self.flattenList(nestedList, newFlattenedList)
nestedList = newFlattenedList
self.flattenedList = nestedList
def flattenList(self, nestedList, flattenedList):
for ele in nestedList:
if type(ele) == list and ele > 0:
self.flattenList(ele, flattenedList)
else:
flattenedList.append(ele)
return
def next(self):
"""
:rtype: int
"""
if self.hasNext():
test = self.flattenedList[self.currIdx]
self.currIdx +=1
return test
else:
return NULL
def hasNext(self):
"""
:rtype: bool
"""
nextIdx = self.currIdx + 1
return True if nextIdx <= len(self.flattenedList) else False
Wenn ich diesen Code ausführen in einer IDE mit der Eingabe [[1,1], 2, [1,1]], bekomme ich eine Ausgabe von [1,1,2,1,1]. Aus irgendeinem Grund, wenn ich den Code mit dem Online-Richter unter Berücksichtigung der Eingabe [[1,1], 2, [1,1]] ausführe, ist die Ausgabe [[1,1], 2, [1,1] ] ist zurück gekommen. Warum gibt der Leetcode-Online-Richter etwas anderes zurück?
Es funktioniert immer noch nicht, wenn ich auf [leetcode] (https://leetcode.com/problems/flatten-nested-list-iterator/description/) einreichen. Funktioniert es für dich? – loremIpsum1771