Skip to content

Commit acd1d03

Browse files
authored
Update 430.Flatten-a-Multilevel-Doubly-Linked-List.cpp
1 parent 9523d8e commit acd1d03

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

Linked_List/430.Flatten-a-Multilevel-Doubly-Linked-List/430.Flatten-a-Multilevel-Doubly-Linked-List.cpp

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -25,33 +25,28 @@ class Solution {
2525
Node* child = h->child;
2626
h->child = NULL;
2727

28-
if (child == NULL)
28+
if (child==NULL && next==NULL)
29+
return h;
30+
else if (child!=NULL && next==NULL)
2931
{
30-
h->next = next;
31-
if (next == NULL)
32-
return h;
33-
else
34-
{
35-
next->prev = h;
36-
return findEnd(next);
37-
}
32+
h->next = child;
33+
child->prev = h;
34+
Node* childEnd = findEnd(child);
35+
return childEnd;
36+
}
37+
else if (child==NULL && next!=NULL)
38+
{
39+
Node* nextEnd = findEnd(next);
40+
return nextEnd;
3841
}
3942
else
4043
{
4144
h->next = child;
4245
child->prev = h;
43-
Node* childEnd = findEnd(child);
44-
if (next==NULL)
45-
{
46-
childEnd->next = NULL;
47-
return childEnd;
48-
}
49-
else
50-
{
51-
childEnd->next = next;
52-
next->prev = childEnd;
53-
return findEnd(next);
54-
}
46+
Node* childEnd = findEnd(child);
47+
childEnd->next = next;
48+
next->prev = childEnd;
49+
return findEnd(next);
5550
}
5651
}
5752
};

0 commit comments

Comments
 (0)