title: Trying to Build Fully Left-Skewed Binary Tree - Getting Stack Overflow Error
body: <p>I can't figure out why my recursive call here is bad. Could someone please shed some light on what I am doing wrong and how I can correct this? I appreciate any and all help.</p>
  
  <p>I have an array filled with random integers am trying to build a fully left-skewed binary tree. </p>
  
  <p>Main:</p>
  
  <pre><code>    public static void main(String[] args) {
  
  
          //Declare New Array to Store Integer Values
          int[] array1 = new int[26];
          randArray(array1, 1, 50);
  
          for(int x=0; x &lt; array1.length; x++)
              System.out.print(array1[x] + " ");
  
          //Build Skewed Tree
          BinaryTree tree1 = new BinaryTree(array1[0]);
          for(int x=1; x &lt; array1.length; x++)
              tree1.addLeft(new BinaryTree(array1[x]));
  
          tree1.print();
  
  
      }
  
      public static void randArray(int[] list, int low, int up) {
          Random rand = new Random();
          for (int i = 0; i &lt; list.length; i++) {
              list[i] = rand.nextInt(up - low + 1) + low;
          }
      }
  }
  </code></pre>
  
  <p>addLeft:</p>
  
  <pre><code>  public void addLeft(BinaryTree subtree){
          if(leftChild != null){
              addLeft(leftChild);
          }
  
          leftChild = subtree;
      }
  </code></pre>