力扣430.扁平化多级双向列表

刚看到这个题目感觉有点懵,主要是没整明白题目的意思,主要是子链表节点没整明白是怎么回事,在看过大家的分析后,明白了子链表是给定好的,不需要我们进行判断,所以这就是我们前几天做的一个链表分割与合并问题,重点是链表该在哪里进行分割,哪里进行整合,我们需要从头开始遍历链表,在子链表存在的地方将链表断开,遍历子链表,将子链表的表尾接到刚才链表断开的位置,然后在进行遍历,直到遍历完所有的链表即可。

        cur=head
        while cur:
            if cur.child:
                nex=cur.next
                child=cur.child
                cur.next=child
                cur.child=None

                child.prev=cur
                while child.next:
                    child=child.next
                child.next=nex
                if nex:
                    nex.prev=child
            cur=cur.next
        return head

 

posted @ 2021-09-24 19:45  hongnal  阅读(35)  评论(0)    收藏  举报