微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【基础】广度优先搜索 & 深度优先搜索 (待补)

DFS

二叉树的遍历

class Solution(object):
    def maxDepth_dfs(self, root):
        if not root:
            return 0
        queue = [root]
        height = 0
        while queue:
            currentSize = len(queue)
            node = queue.pop(0)
            print(node)
            if node.left:
                queue.append(node.left)
            if node.right:
                queue.append(node.right)
        return height

作者:zhi-xiao-3
链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/solution/by-zhi-xiao-3-lk8r/

BFS

二叉树的遍历

class Solution(object):
    def maxDepth_bfs(self, root):
        if not root:
            return 0
        queue = [root]
        height = 0
        while queue:
            currentSize = len(queue)
            node = queue.pop()
            print(node)
            if node.right:
                queue.append(node.right)
            if node.left:
                queue.append(node.left)
        return height

作者:zhi-xiao-3
链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/solution/by-zhi-xiao-3-lk8r/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐