首页 > 猿辅导 输出完全二叉树逆时针遍历结果
头像
YYYYb521
编辑于 2020-08-22 20:39
+ 关注

猿辅导 输出完全二叉树逆时针遍历结果

N = int(input())
inputlist = []
for i in range(1):
    inputlist.append(input())
numlist = inputlist[0].split()
for i in range(N):
    numlist[i] = int(numlist[i])

def fun(n, numlist):
    if n == 1:
        return [1]
    height = 0
    while 2 ** height - 1 < n:
        height += 1
    leefNode = numlist[2 ** (height-1) - 1:]
    x = (2 ** (height - 1) - len(leefNode)) // 2 - 1
    tmp = numlist[2 ** (height - 1) - 2 - x: 2 ** (height - 1) - 2]
    leftNode = []
    rightNode = []
    for i in range(height - 1):
        if i == 0:
            leftNode.append(2 ** i)
        else:
            leftNode.append(2 ** i)
            rightNode.append(2 ** (height - i) - 1)
    return leftNode + leefNode + tmp + rightNode

res = fun(N, numlist)
for i in range(len(res)):
    print(res[i], end=' ')
猿辅导编程第一题:完全二叉树 输入层序遍历序列,有没有大佬帮我看看为啥ac=0

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐