看着是有些累,你可以如下:
从数据库里直接取数据的时候先进行排序,用升序;
那么在创建节点的时候,每次和上一次创建的节点进行判断,只创建不同的节点,例如:
10            //第一个节点
1020
10200001
10200002
1030创建10(第一个节点)的时候,由于上次创建的节点为空,直接创建;
创建1020,上一个节点为10,那么用在1020中进行查找10,如果找到并且位置为0,那么在上一个创建的节点下直接创建此节点,否则查找上一节点的父节点,一直到根,例如创建1030,上一节点为1020002,第一次查找不成功,找其父1020,查找还不成功,再其父10,成功,则在10节点下创建1030节点。