I keep getting an error that says my public Node find(int search) { is an illegal start of expression class BinaryTree { Node root; public BinaryTree() { this.root = null; } // log(n) ... assuming the tree is a balanced tree // if not public void insert(Node n) { //is it empty? if (root == null) { root = n; return; } Node current = root; while (true) { //should we go left? if (n.data <= current.data) { //yes... but does it end there? if(current.left == null) { current.left = n; return; } current = current.left; } else { if (current.right == null) { current.right = n; return; } current = current.right; } // end while public Node find(int search) { return find(root, search); } public Node find(Node n, int search) { if (n == null) return null; if (n.data == search) return n; if (search < n.data) { return find(n.left, search); } else { return find(n.right, search); } } public Node findMin() { if (root == null) return null; return findMin(root); } public Node findMin(Node n) { if (n.left == null) return n; return findMin(n.left); } public Node findMax() { if (root == null) return null; return findMax(root); } public Node findMax(Node n) { if (n.right == null) return n; return findMax(n.right); } public void print() { print(root); } public void print(Node n) { if (n == null) return; print(n.left); System.out.println(n.data); print(n.right); } }
I keep getting an error that says my public Node find(int search) { is an illegal start of expression
class BinaryTree {
Node root;
public BinaryTree() {
this.root = null;
}
// log(n) ... assuming the tree is a balanced tree
// if not
public void insert(Node n) {
//is it empty?
if (root == null) {
root = n;
return;
}
Node current = root;
while (true) {
//should we go left?
if (n.data <= current.data) {
//yes... but does it end there?
if(current.left == null) {
current.left = n;
return;
}
current = current.left;
}
else {
if (current.right == null) {
current.right = n;
return;
}
current = current.right;
} // end while
public Node find(int search) {
return find(root, search);
}
public Node find(Node n, int search) {
if (n == null)
return null;
if (n.data == search)
return n;
if (search < n.data) {
return find(n.left, search);
} else {
return find(n.right, search);
}
}
public Node findMin() {
if (root == null)
return null;
return findMin(root);
}
public Node findMin(Node n) {
if (n.left == null)
return n;
return findMin(n.left);
}
public Node findMax() {
if (root == null)
return null;
return findMax(root);
}
public Node findMax(Node n) {
if (n.right == null)
return n;
return findMax(n.right);
}
public void print() {
print(root);
}
public void print(Node n) {
if (n == null)
return;
print(n.left);
System.out.println(n.data);
print(n.right);
}
}
Step by step
Solved in 3 steps