void freeTree(treeNode root) {

        while (!treeFinished(root)) {
            if (root.lc == null && root.rc == null) {
                root = root.parent;
            } else if (root.lc == null && root.rc != null) {
                //Schau ob rc ein Blatt ist
                if (isLeaf(root.rc)) {
                    //Gebe rechtes Kind frei
                    root.rc.free();
                    root.rc = null;
                } else {
                    //Fahre mit rechtem Kind fort
                    root = root.rc;
                }
            } else if (root.lc != null) {
                if (isLeaf(root.lc)) {
                    root.lc.free();
                    root.lc = null;
                } else {
                    root = root.lc;
                }
            }
        }
        root.free();

    }