""" # Definition for a Node. class Node(object): def __init__(self, val, prev, next, child): self.val = val self.prev = prev self.next = next self.child = child """ classSolution(object): defflatten(self, head): """ :type head: Node :rtype: Node """ ifnot head: return head pres = [] dump = Node(-1) pre = dump cur = None pres.append(head) while pres: ifnot cur: cur = pres.pop(-1) while cur andnot cur.child: pre.next = cur cur.prev = pre pre = pre.next cur = cur.next if cur: pre.next = cur cur.prev = pre pre = pre.next if cur.next: pres.append(cur.next) pres.append(cur.child) cur.child = None cur = None dump.next.prev = None return dump.next