diff --git a/tries/trie_bfs.py b/tries/trie_bfs.py new file mode 100644 index 0000000..0a3f015 --- /dev/null +++ b/tries/trie_bfs.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# author: bt3gl + + +class Node: + def __init__(self, val=None, children=None): + self.val = val + self.children = children + + +def level_orders(root): + + if root is None: + return [] + + result = [] + queue = collections.deque([root]) + + while queue: + level = [] + for _ in range(len(queue)): + node = queue.popleft() + level.append(node.val) + queue.extend(node.children) + result.append(level) + + return result