<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package visitor;

public class VisitorTest implements Visitor&lt;Character&gt; {
   
   public static void main(String[] args) {
      
      TreeNode&lt;Character&gt; t1 = new TreeNode&lt;Character&gt;(null, null, 'a');
      TreeNode&lt;Character&gt; t2 = new TreeNode&lt;Character&gt;(null, null, 'b');
      TreeNode&lt;Character&gt; t3 = new TreeNode&lt;Character&gt;(null, null, 'c');
      TreeNode&lt;Character&gt; t4 = new TreeNode&lt;Character&gt;(null, null, 'd');
      TreeNode&lt;Character&gt; t5 = new TreeNode&lt;Character&gt;(t1, t2, 'e');
      TreeNode&lt;Character&gt; t6 = new TreeNode&lt;Character&gt;(t3, t4, 'f');
      TreeNode&lt;Character&gt; t7 = new TreeNode&lt;Character&gt;(t5, t6, 'g');
      
      VisitorTest vt = new VisitorTest();
      t7.traverse(vt);
      System.out.println(vt.preorder.toString());
      System.out.println(vt.inorder.toString());
      System.out.println(vt.postorder.toString());
   }
   
   StringBuilder preorder = new StringBuilder();
   StringBuilder inorder = new StringBuilder();
   StringBuilder postorder = new StringBuilder();

   public void visitPre(Character datum) {
      preorder.append(datum);      
   }
   
   public void visitIn(Character datum) {
      inorder.append(datum);      
   }

   public void visitPost(Character datum) {
      postorder.append(datum);      
   }
}
</pre></body></html>