Beispiel #1
0
        if cur.right:
            q.append(cur.right)
        idx += 1
    return root


def printNode(tn, indent):
    sb = ""
    for i in range(indent):
        sb += "\t"
    sb += str(tn.val)
    print(sb)


def printTree(root, indent):
    if not root:
        return
    printTree(root.right, indent + 1)
    printNode(root, indent)
    printTree(root.left, indent + 1)


root = createTree("1, 2, 3, #, #, 4, 5")
data = [0, 0, 0, 0, None, None, 1, None, None, None, 2]
#  data = [None]
sol = Codec()
seri = sol.serialize(root)
print(seri)
deseri = sol.deserialize(data)
print(printTree(deseri, 0))
Beispiel #2
0
from solution import TreeNode, Codec


def traverse(node, nodes):
	nodes.append(node.val if node else None)


	if node:
		traverse(node.left, nodes)
		traverse(node.right, nodes)


codec = Codec()


# test 1
root = TreeNode(1)
root.left = TreeNode(2)
right = TreeNode(3)
right.left, right.right = TreeNode(4), TreeNode(5)
root.right = right

deserialized = codec.deserialize(codec.serialize(root))

original_nodes = []
deser_nodes = []
traverse(root, original_nodes)
traverse(deserialized, deser_nodes)

assert original_nodes == deser_nodes
Beispiel #3
0
        if idx == len(data):
            break
        cur.right = createNode(data[idx])
        if cur.right:
            q.append(cur.right)
        idx += 1
    return root

def printNode(tn, indent):
    sb = ""
    for i in range(indent):
        sb += "\t"
    sb += str(tn.val)
    print(sb)

def printTree(root, indent):
    if not root:
        return
    printTree(root.right, indent + 1)
    printNode(root, indent)
    printTree(root.left, indent + 1)

root = createTree("1, 2, 3, #, #, 4, 5")
data = [0,0,0,0,None,None,1,None,None,None,2]
#  data = [None]
sol = Codec()
seri = sol.serialize(root)
print(seri)
deseri = sol.deserialize(data)
print(printTree(deseri, 0))
Beispiel #4
0
def _test_codec(root):
    cc = Codec()
    assert tree_eq(cc.deserialize(cc.serialize(root)), root)
Beispiel #5
0
from solution import Codec

new_codec = Codec()


def test_empty():
    """
    test if given string are empty
    """
    assert new_codec.encode('') is False


def test_string():
    """
    test short url
    """
    site = 'google.com'
    assert site == new_codec.decode(new_codec.encode(site))


def test_long_site():
    site = 'https://www.youtube.com/watch?v=7oQ-Usd7Tes'
    assert site == new_codec.decode(new_codec.encode(site))