懵懂的菜鸟

Stay hungry,Stay foolish.

导航

python二叉树染色-有严重BUG

#coding:utf-8
'''
二叉树涂黑
输入:
5
2 1 -1
4 2 -1
5 4 -1
3 1 1
2
输出:
3

第二题是:斗地主
'''
import sys
b=list()
class node():  
    def __init__(self,k=None,l=None,r=None):  
        self.key=k;  
        self.left=l;  
        self.right=r;  

def create(root,n):
    n=n-1
    if n==0:
        return;  
    a=[0]*3
    a=[int(i) for i in sys.stdin.readline().strip("\n").split()] 
    data,ff,chil=a[0],a[1],a[2]


    root=node(k=ff); 
    if chil==-1:
        root.left=create(root.left,n)
    if chil==1:
        root.right=create(root.right,n)

    return root;  

def preorder(root):      #前序遍历  

    print(root.key,end=''); 
    b.append(root.key)
    if root.left!=None: 
        preorder(root.left);  
    if root.right!=None:
        preorder(root.right);  

n=int(input())
root=None; 
root=create(root,n) 

preorder(root);
print('\n')
m=int(input())
for i in range(len(b)):
    if b[i]==m:
        print(len(b)-i)
        break

# print(type(root)) #<class '__main__.node'>
# print(root) #<__main__.node object at 0x000000000114C4E0>

 

posted on 2017-09-14 11:00  懵懂的菜鸟  阅读(262)  评论(0编辑  收藏  举报