The minimum value of a binary tree question



At the following url...
http://cslibrary.stanford.edu/110/BinaryTrees.html

They have the following as a solution to finding the min value of a
binary tree...
4. minValue() Solution (C/C++)
/*
Given a non-empty binary search tree,
return the minimum data value found in that tree.
Note that the entire tree does not need to be searched.
*/
int minValue(struct node* node) {
struct node* current = node;

// loop down to find the leftmost leaf
while (current->left != NULL) {
current = current->left;
}

return(current->data);
}

Why do they do 'current->left != NULL' in the while loop instead of
something like 'current != NULL'? Ie, something like the
following....

int minValue(struct node* node) {
struct node* current = node;

// loop down to find the leftmost leaf
while (current != NULL) {
current = current->left;
}

return(current->data);
}
.