Graph


In [ ]:
'''
In-Order Traversal
'''
class Solution:
    def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:
        return self.sumTraversal(root, 0, L, R)
        
    
    def sumTraversal(self, node, summ, L, R):
        if node is not None:
            summ = self.sumTraversal(node.left, summ, L, R)
            if node.val >= L and node.val <= R:
                summ += node.val
            summ = self.sumTraversal(node.right, summ, L, R)
            
        return summ

In [ ]:
'''
Breadth-First Search Level Order Queue
'''
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

def isCompleteTree(self, root):
    bfs = [root]
    i = 0
    while bfs[i]:
        bfs.append(bfs[i].left)
        bfs.append(bfs[i].right)
        i += 1
    return not any(bfs[i:])