Definition for a binary tree node.
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
void _tree2str(struct TreeNode* t,char* str) {
if(t==NULL)
return;
//把根强制类型转换为字符型
char buff[12];
sprintf(buff,"%d",t->val);
strcat(str,buff);
//拷左子树
if(t->left ==NULL)
{
if(t->right==NULL)
return;
else
strcat(str,"()");
}
else
{
strcat(str,"(");
_tree2str(t->left,str);
strcat(str,")");
}
//拷右子树
if(t->right )
{
strcat(str,"(");
_tree2str(t->right,str);
strcat(str,")");
}
else
return;
}
char* tree2str(struct TreeNode* t)
{
char* str = (char*)malloc(1024*1024);
_tree2str(t,str);
return str;
}