解题思路:
顺序存储二叉树
注意事项:
参考代码:
n=int(input()) s=input().strip() tree=['']*100000 # 存储每个节点的子串 def fun(tree,node,s):#构建树 start=0 end=len(s)-1 #print(s) tree[node]=s if start==end: return mid=(start+end)//2 left_node=2*node+1 right_node=2*node+2 fun(tree,left_node,s[start:mid+1]) fun(tree,right_node,s[mid+1:end+1]) fun(tree,0,s,) #print(tree) def check(s): #根据字串返回节点 #print(s,end=' ') b=0 I=0 for i in range(len(s)): if s[i]=='0': b+=1 else: I+=1 if b==0: return 'I' if I==0: return 'B' return 'F' def postOrderTree(tree,node):#后序遍历 left_node=2*node+1 right_node=2*node+2 if len(tree[node])!=1: postOrderTree(tree,left_node) if len(tree[node])!=1: postOrderTree(tree,right_node) print(check(tree[node]),end='') #print(tree[node]) postOrderTree(tree,0)
0.0分
2 人评分
汽水瓶 (C语言代码)浏览:698 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:561 |
成绩转换 (C语言代码)浏览:1005 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1090 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:625 |
幸运数 (C++代码)浏览:1259 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:467 |
sizeof的大作用 (C语言代码)浏览:1024 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:497 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:440 |