//算法思想: //利用节点的右孩子指针lchild讲二叉树的叶子结点从左到右串成一个单链表 void Link(BTNode *b,BTNode *&head,BTNode *&tail){ if (b!=NULL) { if (b->Leftchild==NULL&&b->Rightchild==NULL) { if (head==NULL)//如果head是NULL,即是第一次满足条件,说明是第一个节点。 { head=b; tail=head; } else//不是第一个节点的情况 { tail->Rightchild=b; tail=b; } } else//按照中序遍历,一次求出满足条件的节点 { Link(b->Leftchild,head,tail); Link(b->Rightchild,head,tail); } }}