前序遍历二叉树 代码:
// 方式一:
void RootNode(root){
if(root == null) return;
RootNode(root->letf()); //先遍历左节点
visit(root);//遍历根节点
RootNode(root->right());//遍历右节点
}
//方式二:
void RootNode(root){
if(root->letf() != null)
RootNode(root->letf()); //先遍历左节点
visit(root);//遍历根节点
if(root->right() != null)
RootNode(root->right());//遍历右节点
}
方式一的效率比方式二的高 且保证传人空节点不报错 往往程序去判断节点为空非常费时间。同理可得中序遍历,后序遍历(
修改RootNode(root->letf()); //先遍历左节点
visit(root);//遍历根节点
RootNode(root->right());//遍历右节点)的顺序即可。