C++中常用的二叉树遍历方法有三种:前序遍历、中间遍历和后序遍历。
先序遍历:首先访问根节点,然后递归遍历左子树和右子树。
void preorder traversal(TreeNode * root ){
如果(根){
cout & lt& ltroot-& gt;val <& lt"";
preorder traversal(root-& gt;左);
preorder traversal(root-& gt;对);
}
}
Inorder遍历:首先递归遍历左边的子树,然后访问根节点,最后递归遍历右边的子树。
void in order traversal(TreeNode * root ){
如果(根){
in order traversal(root-& gt;左);
cout & lt& ltroot-& gt;val <& lt"";
in order traversal(root-& gt;对);
}
}
后序遍历:递归遍历左侧子树和右侧子树,最后访问根节点。
void post order traversal(TreeNode * root ){
如果(根){
post order traversal(root-& gt;左);
post order traversal(root-& gt;对);
cout & lt& ltroot-& gt;val <& lt"";
}
}
以上所有方法都是递归的,您还可以使用迭代方法来遍历二叉树。
以上内容来自互联网,不代表本站全部观点!欢迎关注我们:zhujipindao。com
评论前必须登录!
注册