请问以下函数体是否存在错误?
typedef struct Node {
int data;
struct Node *LChild, *RChild;
} BiTNode, *BiTree;
void SwapTree(BiTree T)
{ if (T==NULL) return;
else
{ BiTree *k=0;
k = T->Lchild;
T->Lchild = T->Rchild;
T->Rchild = k;
SwapTree(T->Lchild);
SwapTree(T->Rchild);
}
}