"""
# Definition for a Node.
class Node:
def __init__(self, val, prev, next, child):
self.val = val
self.prev = prev
self.next = next
self.child = child
"""
class Solution:
def trav(self,head1):
root = head1
if not root:
return None
while root:
a = None
if root.child:
a = self.trav(root.child)
if a:
a.prev = head1
temp = root.next
root.next = a
while root.next:
root = root.next
root.next = temp
root = root.next
return head1
def flatten(self, head: 'Node') -> 'Node':
if not head:
return None
root = self.trav(head)
temp = root
temp.prev = None
temp.child= None
last = temp
temp = temp.next
while temp:
temp.child = None
temp.prev = last
last = temp
temp = temp.next
return root
1534B - Histogram Ugliness | 1611B - Team Composition Programmers and Mathematicians |
110A - Nearly Lucky Number | 1220B - Multiplication Table |
1644A - Doors and Keys | 1644B - Anti-Fibonacci Permutation |
1610A - Anti Light's Cell Guessing | 349B - Color the Fence |
144A - Arrival of the General | 1106A - Lunar New Year and Cross Counting |
58A - Chat room | 230A - Dragons |
200B - Drinks | 13A - Numbers |
129A - Cookies | 1367B - Even Array |
136A - Presents | 1450A - Avoid Trygub |
327A - Flipping Game | 411A - Password Check |
1520C - Not Adjacent Matrix | 1538B - Friends and Candies |
580A - Kefa and First Steps | 1038B - Non-Coprime Partition |
43A - Football | 50A - Domino piling |
479A - Expression | 1480A - Yet Another String Game |
1216C - White Sheet | 1648A - Weird Sum |