diff --git a/bintree.c b/bintree.c index a1e0e34..90e963f 100644 --- a/bintree.c +++ b/bintree.c @@ -79,11 +79,8 @@ void *nextTreeData(TreeNode *root) { TreeNode *currentNode = root; while (currentNode != NULL) { // alle linken Knoten werden vom root an auf den Stack gelegt - StackNode *oldStack = stack; - StackNode *newStack = push(stack, currentNode); - if (newStack == oldStack) - return NULL; // push fehlgeschlagen - stack = newStack; + + stack = push(stack, currentNode); currentNode = currentNode->left; } } @@ -98,11 +95,7 @@ void *nextTreeData(TreeNode *root) { // Rechten Teilbaum pushen TreeNode *currentNode = node->right; while (currentNode != NULL) { - StackNode *oldStack = stack; - StackNode *newStack = push(stack, currentNode); - if (newStack == oldStack) - return NULL; // push fehlgeschlagen - stack = newStack; + stack = push(stack, currentNode); currentNode = currentNode->left; } return node->data; // Pointer auf Daten