zoukankan      html  css  js  c++  java
  • Leetcode 430

    这个的话套一个递归的模型就好了。

    遍历链表,如果遇到了有child 的节点,就用一个函数去将其拉直,并获得其尾部节点的指针。

    自己做的时候忘了考虑一些边界条件。空链表的时候不应该处理而应该直接返回,链表长度为1的时候也应当注意判断条件。

    class Solution:
        def flatten(self, head: 'Node') -> 'Node':
            def process(head):
                # flatten, but return the last node
                while head:
                    if head.child:
                        last = process(head.child)
                        headnext = head.next
                        head.next = head.child
                        head.child.prev = head
                        if headnext:
                            headnext.prev = last
                            last.next = headnext
                        head.child = None
                    if head.next:
                        head = head.next
                    else:
                        break
                return head
            process(head)
            return head
  • 相关阅读:
    三维聚源
    js--继承
    1.名字忘了
    html5--画布
    Html批量读取json
    get获取Json
    5-jQuery
    Sublime Text
    Redis,JedisPool工具类
    向指定url发送Get/Post请求
  • 原文地址:https://www.cnblogs.com/KakagouLT/p/15331781.html
Copyright © 2011-2022 走看看