0

..我正在构建一个二叉树,其中给出了根,子节点是 root-3、root-2 或 root-1(也就是说,它们持有这些硬币数量)。所以 5 会有 2、3、4 的节点,依此类推,直到叶子为 0。这是我制作这样一棵树的方法。我不明白为什么该方法不返回原始节点,在这种情况下,该值应该是 3。

任何指导都会很棒。

 public GameNode buildTree1(GameNode root){

 int penn = root.getPennies();  
 if (penn < 0)
   {
    return null;
   }

   else {
       root.print();
    root.setLeft(buildTree1(new GameNode(penn-1)));
    root.setMiddle(buildTree1(new GameNode(penn-2)));
    root.setRight(buildTree1(new GameNode(penn-3)));
    return root;
   } 

获取/设置方法

public void setLeft(GameNode newNode) {
// TODO Auto-generated method stub
left = newNode; 

setMiddle 和 setRight 相同;

4

0 回答 0