[英]Converting a inorder code into a preorder and postorder
How do I turn this into a preorder and a postorder traversal?如何将其转换为前序和后序遍历? This code only traverses a tree in an inorder style.
此代码仅以有序方式遍历树。
void inorder() {
inorderRec(root);
}
// Inorder Traversal
void inorderRec(Node root) {
if (root != null) {
inorderRec(root.left);
System.out.print(root.key + " -> ");
inorderRec(root.right);
}
}
You can just change the order of statements:您可以只更改语句的顺序:
void preOrderRec(Node root) {
if (root != null) {
System.out.print(root.key + " -> ");
inorderRec(root.left);
inorderRec(root.right);
}
void postOrderRec(Node root) {
if (root != null) {
inorderRec(root.left);
inorderRec(root.right);
System.out.print(root.key + " -> ");
}
void preOrder(Node root)
{
if (root) {
System.out.print(root.key + " -> ");
preOrder(root.left);
preOrder(root.right);
}
}
void postOrder(Node root)
{
if (root)
{
postOrder(root.left);
postOrder(root.right);
System.out.print(root.key + " -> ");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.