import java.util.ArrayList; class BinTree { private class Node { private int val; private Node left, right; private Node(int val) { this.val = val; } } private Node root; public void add(int i) { root = addRecur(root, i); } private Node addRecur(Node cur, int i) { if (cur == null) { // Funnet plass for verdien return new Node(i); } else if (i < cur.val) { // Verdien må til venstre da den er mindre enn cur cur.left = addRecur(cur.left, i); } else if (i > cur.val) { // Verdien må til hoyre da den er storre cur.right = addRecur(cur.right, i); } return cur; } public boolean containsVal(int i) { // Sjekker om i er i treet return containsValRecur(root, i); } public boolean containsValRecur(Node cur, int i) { if (cur == null) { // Hvis vi har kommet til en nullpointer finnes ikke verdien i treet return false; } else if (cur.val == i) { // Har funnet verdien return true; } else if (i < cur.val) { // i er mindre enn cur og vi maa lete til venstre return containsValRecur(cur.left, i); } else { // i er storre og vi maa lete til hoyre return containsValRecur(cur.right, i); } } }