将二叉树拆成链表

LeetCode题目地址

def flatten(self, root):
        # write your code here
        if root == None:
            return root
        #用根节点初始化栈
        # 然后出栈一个,就入栈右孩子,左孩子    出1入2
        stackList = [root]
        dummy = TreeNode(-1)
        cur = dummy
        while len(stackList) != 0:
            node = stackList.pop()
            cur.right = node
            cur = node
            if node.right:
                stackList.append(node.right)
            if node.left:
                stackList.append(node.left)
                node.left = None
                #不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出
        return dummy.right    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 ...
    六尺帐篷阅读 600评论 0 1
  • 描述 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 ...
    lyoungzzz阅读 282评论 0 0
  • 描述 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针来表示链表中的 n...
    6默默Welsh阅读 655评论 0 0
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 难度:容易 要求: 将一棵二叉树按照前序遍历拆解成为一个假链...
    柒黍阅读 323评论 0 0
  • 我跟在少年身后,已经五天。 三月里,烟雨飘摇。江边的风夹着雨丝直往衣服里灌,很冷。少年走在雨里,白衬衫随风摇曳,而...
    十六缘阅读 452评论 0 1