leetcode104.二叉树的最大深度 python

求二叉树的最大深度有两种方法:
1,深度优先
2.广度优先

深度优先代码
通过递归分别计算最大分支

if not root:
           return 0
       else:
           return 1+max(self.maxDepth(root.left),self.maxDepth(root.right))

广度优先(层次打印)这个参考别人写的 刚开始学语言直接就leetcode上手了

        if not root :
            return 0
        q=[]
        q.append(root)
        depth=0
        while len(q) != 0:
            depth+=1
            for i in range(len(q)):
                if q[0].left:
                    q.append(q[0].left)
                if q[0].right:
                    q.append(q[0].right)
                del q[0]
        return depth
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。