G3: serialization and deserialization
serialization and deserialization a binary tree.
void buildtree(TreeNode* &p, ifstream& ifs){ string token; readNextToken(ifs, token); while(token==","){ readNextToken(ifs, token); } if(token=="#") {return;} TreeNode *tn = new TreeNode( atoi( token ) ); p = tn; buildtree(tn->left, ifs); buildtree(tn->right, ifs); } void writeTree( TreeNode* p , ostream& os) { if( p==NULL) { os<<'#'; return; } os<<p->val; writeTree(p->left, os); writeTree(p->right, os); }