题目描述
题目链接
![](https://i-blog.csdnimg.cn/blog_migrate/f183ae89b947362aa481f5603d8d19e7.png)
代码
public Node flatten(Node head) {
if (head == null) {
return null;
}
Node temp = head;
while (temp != null && temp.child == null) {
temp = temp.next;
}
if (temp == null) {
return head;
}
Node node = flatten(temp.child);
temp.child = null;
if (node != null) {
if (temp.next != null) {
Node curNext = temp.next;
temp.next = node;
node.prev = temp;
while (node.next != null) {
node = node.next;
}
node.next = curNext;
curNext.prev = node;
} else {
temp.next = node;
node.prev = temp;
}
}
return head;
}
运行结果
![](https://i-blog.csdnimg.cn/blog_migrate/cec241981aa63890948f63f632566072.png)