美文网首页
2019-08-23 剑指 按之字形顺序打印二叉树

2019-08-23 剑指 按之字形顺序打印二叉树

作者: mztkenan | 来源:发表于2019-08-23 10:23 被阅读0次

9min。直接用双向队列。map不对原来的list进行改变,返回的是一个map对象啊

class Solution:
    def Print(self, pRoot:List):
        if not pRoot:return []
        res=[]
        self.dfs(pRoot,1,res)
        # new=map(lambda x:list(x),res)
        # return list(new)
        return res

    def dfs(self,pRoot:TreeNode,depth,res:List):
        if not pRoot:return
        if depth>len(res):
            tmp=deque()
            tmp.append(pRoot.val)
            res.append(tmp)
        else:
            if depth%2==1:res[depth-1].append(pRoot.val)
            else:res[depth-1].appendleft(pRoot.val)
        self.dfs(pRoot.left,depth+1,res)
        self.dfs(pRoot.right,depth+1,res)

另一个思路就是将队列转为两个Stack栈来进行存储

相关文章

  • JZ-059-按之字形顺序打印二叉树

    按之字形顺序打印二叉树 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从...

  • 打印二叉树

    按之字形顺序打印二叉树 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺...

  • 剑指offer | 按之字形顺序打印二叉树

    按之字形顺序打印二叉树 请实现一个函数按照之字顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的...

  • 2019-08-23 剑指 按之字形顺序打印二叉树

    9min。直接用双向队列。map不对原来的list进行改变,返回的是一个map对象啊 另一个思路就是将队列转为两个...

  • 二叉树的遍历

    从上往下打印二叉树 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 按之字形顺序打印二叉树 请实现一个函数...

  • [剑指offer] 按之字形顺序打印二叉树

    本文首发于我的个人博客:尾尾部落 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第...

  • 剑指offer:按之字形顺序打印二叉树

    题目分析 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行...

  • 剑指第三周

    对称的二叉树 其实就是要遍历嘛 按之字形顺序打印二叉树 同样是简单的层次遍历 把二叉树打印成多行 这个更简单了 栈...

  • 剑指offer--按之字形顺序打印二叉树

    题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照...

  • 剑指offer编程题—按之字形打印二叉树

    题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按...

网友评论

      本文标题:2019-08-23 剑指 按之字形顺序打印二叉树

      本文链接:https://www.haomeiwen.com/subject/qwzasctx.html