输入一棵二元查找树, 将该树转换为它的镜像
来源:互联网 发布:ie11 找不到js 编辑:程序博客网 时间:2024/05/20 03:47
要求使用递归和循环两种方法.
二叉树节点定义:
typedef struct BSTreeNode{
int m_nValue;
struct BSTreeNode * m_pLeft;
struct BSTreeNode * m_pRight;
}BSTreeNode;
一.递归
void reverseBTree(BSTreeNode * bstree)
{
BSTreeNode * pnode;
if(bstree)
{
reverseBTree(bstree->m_pLeft);
reverseBTree(bstree->m_pRight);
pnode = bstree->m_pLeft;
bstree->m_pLeft = bstree->m_pRight;
bstree->m_pRight = pnode;
}
}
二. 循环
循环的实现中需要使用栈或者队列来遍历二叉树, 栈/队列中元素为树节点的指针
void reverseBTree_cycle(BSTreeNode * bstree)
{
Stack st;
BSTreeNode * current;
BSTreeNode * temp;
if(!bstree)
return;
initStack(&st);
push(&st, bstree);
while(!isEmpty(&st))
{
pop(&st, ¤t);
temp = current->m_pRight;
current->m_pRight = current->m_pLeft;
current->m_pLeft = temp;
if(current->m_pLeft)
push(&st, current->m_pLeft);
if(current->m_pRight)
push(&st, current->m_pRight);
}
}
- 输入一棵二元查找树, 将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 15、输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像,
- 输入一颗二元查找树,将该树转换为它的镜像
- 【算法】输入一颗二元查找树,将该树转换为它的镜像
- 15.输入一颗二元查找树,将该树转换为它的镜像
- 15.输入一颗二元查找树,将该树转换为它的镜像
- No15、输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- No15_输入一颗二元查找树,将该树转换为它的镜像,
- 输入一颗二元查找树,将该树转换为它的镜像
- 15 输入一颗二元查找树,将该树转换为它的镜像
- 13.输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- windows的IPC空连接
- 设置eclipse格式化html
- Spring源代码解析(收藏)
- (七)继承(一)
- Android Studio打开项目时停留在任务栏,不能显示出来的问题解决办法
- 输入一棵二元查找树, 将该树转换为它的镜像
- 欢迎使用CSDN-markdown编辑器
- Merge Intervals
- 三大框架环境配置
- plsql
- AppCompatActivity与toolbar的结合,封装BaseActivity
- C++经典面试问题20-40
- Spring AOP基础知识学习——Annotation配置
- 求一元二次方程的根【double型的0输出%.2lf为-0.00】