title: Is this the efficient BST Insertion?
body: <p>I implemented the Binary Search Tree Insertion method on my own just based on logic.
  So, can anyone verify that the code is working fine while inserting and searching( use your own searching methods like inorder, preorder, postorder)?</p>
  <p>And also find the time complexity of the code.</p>
  <pre><code>public void insert(int data) {
      Node node = new Node(data);
      if (root == null) {
          root = node;
          size++;
      } else {
          Node n = root;
          if (data &gt; n.data) {
              while (n.right != null) {
                  n = n.right;
              }
              if (data &lt; n.data) {
                  while (n.left != null) {
                      n = n.left;
                  }
                  if (data != n.data) {
                      n.left = node;
                      size++;
                  }
              } else {
                  if (data != n.data) {
                      n.right = node;
                      size++;
                  }
              }
          } else if (data &lt; n.data) {
              while (n.left != null) {
                  n = n.left;
              }
              if (data &gt; n.data) {
                  while (n.right != null) {
                      n = n.right;
                  }
                  if (data != n.data) {
                      n.right = node;
                      size++;
                  }
              } else {
                  if (data != n.data) {
                      n.left = node;
                      size++;
                  }
              }
          }
  
      }
  }
  </code></pre>
  <p>Edit :- I found a problem when i insert these numbers:-</p>
  <pre><code>    bst.insert(10);
      bst.insert(11);
      bst.insert(90);
      bst.insert(13);
      bst.insert(12);
      bst.insert(70);
      bst.insert(80);
  </code></pre>
  <p>it prints like this(inorder):-
  10 11 80 70 12 13 90</p>