Skip to content

Instantly share code, notes, and snippets.

@ntub46010
Created June 26, 2021 17:11
Show Gist options
  • Save ntub46010/52b14c392e528b5929bc0b08cdb6ee0f to your computer and use it in GitHub Desktop.
Save ntub46010/52b14c392e528b5929bc0b08cdb6ee0f to your computer and use it in GitHub Desktop.
public class TreeNode<E> {
private E value;
private TreeNode<E> leftNode;
private TreeNode<E> rightNode;
public TreeNode(E value) {
this.value = value;
}
public E getValue() {
return value;
}
public TreeNode<E> getLeftNode() {
return leftNode;
}
public void setLeftNode(TreeNode<E> leftNode) {
this.leftNode = leftNode;
}
public TreeNode<E> getRightNode() {
return rightNode;
}
public void setRightNode(TreeNode<E> rightNode) {
this.rightNode = rightNode;
}
public void preOrder() {
System.out.print(value);
if (leftNode != null) {
leftNode.preOrder();
}
if (rightNode != null) {
rightNode.preOrder();
}
}
public void inOrder() {
if (leftNode != null) {
leftNode.inOrder();
}
System.out.print(value);
if (rightNode != null) {
rightNode.inOrder();
}
}
public void postOrder() {
if (leftNode != null) {
leftNode.postOrder();
}
if (rightNode != null) {
rightNode.postOrder();
}
System.out.print(value);
}
@Override
public String toString() {
return value.toString();
}
public static void main(String[] args) {
TreeNode<Integer> node1 = new TreeNode<>(1);
TreeNode<Integer> node3 = new TreeNode<>(3);
TreeNode<Integer> node2 = new TreeNode<>(2);
node2.setLeftNode(node1);
node2.setRightNode(node3);
TreeNode<Integer> node5 = new TreeNode<>(5);
TreeNode<Integer> node7 = new TreeNode<>(7);
TreeNode<Integer> node6 = new TreeNode<>(6);
node6.setLeftNode(node5);
node6.setRightNode(node7);
TreeNode<Integer> node4 = new TreeNode<>(4);
node4.setLeftNode(node2);
node4.setRightNode(node6);
node4.preOrder();
System.out.println();
node4.inOrder();
System.out.println();
node4.postOrder();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment