#define MAX_SIZE 50000 void transfer_bitree(struct TreeNode* t, char *s, int *len) { if (t) { *len += sprintf(s + *len, "%d", t->val); if (t->left || t->right) { *len += sprintf(s + *len, "%s", "("); transfer_bitree(t->left, s, len); *len += sprintf(s + *len, "%s", ")"); } if (t->right) { *len += sprintf(s + *len, "%s", "("); transfer_bitree(t->right, s, len); *len += sprintf(s + *len, "%s", ")"); } } } char * tree2str(struct TreeNode* t) { char *str = malloc(MAX_SIZE); int len = 0; transfer_bitree(t, str, &len); str[len] = '