if (node->left == NULL && node->right == NULL) return node_value=node->data; 만 달면 되는데 null일 때 0이나 작은 값을 넣어보란다.. 덕분에 문제 해결 능력이 상승한 기분도 있기는 하지만 너무 한 거 아니냐?