-3

データをツリーに挿入し、スタックを使用して depth -first-traversal を使用してトラバースするプログラムを作成しようとしていますが、スタックからルートをポップアップして保存するとエラーが発生しますタイプの変数で一時的にTreeNode

これは、コンパイル中に発生するエラーであり、ここに私のプログラムがあります

import java.util.*;

public class TestStack{
   public  static void main(String[] args){       
      BSTStack bst = new BSTStack(new int[]{1,2,3,5,6,9});
   }   
}

class BSTStack {
   TreeNode root;

   public BSTStack(int [] list){
      for(int i=0;i<list.length;i++){
         insert(list[i]);
      }
   }

   public void insert(int key){
      TreeNode newNode = new TreeNode(key);

      if(root == null){
         root = newNode;
      }
      else{
         TreeNode focusNode = root;
         TreeNode parent ;
         while(true){
            parent = focusNode;
            if(key < focusNode.key){
               focusNode = focusNode.leftChild;
               if(focusNode == null){
                  parent.leftChild = newNode;
                  return;
               }
            }

            else {
               focusNode = focusNode.rightChild;
               if(focusNode == null){
                  parent.rightChild = newNode;
                  return;
               }
            }
         }
      }
   }

   public void inorderTraversal(TreeNode root){
      Stack stack = new Stack();
      TreeNode n;
      stack.push(root);

      while(!stack.isEmpty()){
         n = stack.pop();
         // stack.push(n.leftChild);
         // stack.push(n.rightChild);
      }
   }
}
class TreeNode{
   int key ;
   TreeNode leftChild;
   TreeNode rightChild;

   public TreeNode(int key){
      this.key = key;
   }
}
4

1 に答える 1