题目:若二叉树采用二叉链表作存储结构,要交换其所有分支节点左右子树的位置
利用( )遍历方法最合适
A 前序 B 中序 C 后序 D 层次
下面是我写的两个函数,感觉前序和后序遍历交换的时间复杂度好像一样。求正解?
//后序遍历交换
Status Exchange(BiTree T){
BiTree temp;
if(T){
Exchange(T->left);
Exchange(T->right);
temp = T->left;
T->left = T->right;
T->right = temp;
}
return OK;
}
//先序遍历交换
Status Exchange(BiTree T){
BiTree temp;
if(T){
temp = T->left;
T->left = T->right;
T->right = temp;
Exchange(T->left);
Exchange(T->right);
}
return OK;
}
利用( )遍历方法最合适
A 前序 B 中序 C 后序 D 层次
下面是我写的两个函数,感觉前序和后序遍历交换的时间复杂度好像一样。求正解?
//后序遍历交换
Status Exchange(BiTree T){
BiTree temp;
if(T){
Exchange(T->left);
Exchange(T->right);
temp = T->left;
T->left = T->right;
T->right = temp;
}
return OK;
}
//先序遍历交换
Status Exchange(BiTree T){
BiTree temp;
if(T){
temp = T->left;
T->left = T->right;
T->right = temp;
Exchange(T->left);
Exchange(T->right);
}
return OK;
}
