← 返回题库
初级

计算Merkle Root

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(leaves):
    import hashlib
    leaves = leaves.split(',') if isinstance(leaves, str) else leaves
    def hash_pair(a, b):
        return hashlib.sha256((a + b).encode()).hexdigest()
    while len(leaves) > 1:
        if len(leaves) % 2 == 1:
            leaves.append(leaves[-1])
        leaves = [hash_pair(leaves[i], leaves[i+1]) for i in range(0, len(leaves), 2)]
    print(leaves[0])

示例

输入
solve('a,b,c')
期望输出
5c700ad7ee9dc104f1a6e92da5a3a76f73d62b0d1c86a205eace21ed914dcdbf
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码