int main(int argc, char const *argv[])
{
	/* code */
	TreeNode* n1 = new TreeNode(5);
	TreeNode* n2 = new TreeNode(4);
	TreeNode* n3 = new TreeNode(2);
	n1 -> left = n2;
	n1 -> right = n3;
	TreeNode* n4 = new TreeNode(11);
	n2 ->right = n4;
	TreeNode* n5 = new TreeNode(7);
	TreeNode* n6 = new TreeNode(8);
	n3 -> left = n5;
	n3 -> right = n6;

	Codec c;
	string test = "5,4,#,11,#,#,2,7,#,#,8,#,#,";

	//c.dfs(n1);


	cout << "---------" << endl;
	c.dfs(c.deserialize(test));
	cout  << endl;

	cout << c.serialize(n1)<<endl;
	cout << test<<endl;
	c.dfs(c.deserialize(c.serialize(n1)));

	return 0;
}
Esempio n. 2
0
int main() {
    string s;
    cin >> s;
    Codec c;
    TreeNode* root = c.deserialize(s);
    cout << c.serialize(root) << endl;
    return 0;
}
Esempio n. 3
0
int main() {
    vector<string> data{"1","2","3","#","#","4","5"};
    auto root = constructTree(data);
    Codec cd;
    auto s = cd.serialize(root);
    auto proot = cd.deserialize(s);
    return 1;
}
int main() {
    Codec s;
    vector<int> preorder({1, 2, 4, 3}), inorder({4, 2, 1, 3});
    TreeNode *root = buildTree(preorder, inorder);
    root->print();
    cout << s.serialize(root) << endl;
    TreeNode* node = s.deserialize(s.serialize(root));
    node->print();
    return 0;
}
int main()
{
	Codec codec;
	string data = "null";
	TreeNode* root = codec.deserialize(data);
	// print_tree(root);
	auto ret = codec.serialize(root);
	cout<<ret<<endl;

	return 0;
}
Esempio n. 6
0
// Your Codec object will be instantiated and called as such:
int main() {
  Codec codec;
  TreeNode * root = new TreeNode(1);
  root->left = new TreeNode(2);
  root->right = new TreeNode(3);
  root->right->right = new TreeNode(4);
  string ss = codec.serialize(root);
  cout << ss << "\n"; 
  codec.matchedParens("(2,(),())");

  TreeNode * p = codec.deserialize(ss);
  cout << "restored tree: "<< "\n";  
  InorderIter it(p);   
  while (it.hasNext()) {
    cout << it.next()->val << " ";
  }
  cout << "\n";
}
int main(int argc, char const *argv[])
{
	TreeNode *proot = new TreeNode(-1);
    proot->left = new TreeNode(0);
    proot->right = new TreeNode(1);
/*
    proot->left->left = new TreeNode(1);
    proot->left->right = new TreeNode(4);

    proot->right->left = new TreeNode(6);
    proot->right->right = new TreeNode(7);
*/
	Codec s;
    string xx = s.serialize(proot);
    cout << xx << endl;

    cout << s.deserialize(xx) << endl;

	return 0;
}
// Your Codec object will be instantiated and called as such:
// Codec codec;
// codec.deserialize(codec.serialize(root));
int main()
{
	TreeNode* tl,*tr,*node;
	TreeNode root(1);
	tl = root.left = new TreeNode(6);
	tr = root.right = new TreeNode(2);
	node = tl->left = new TreeNode(7);
	tl->right = new TreeNode(5);
	node->left = new TreeNode(8);
	node->left->left = new TreeNode(7);
	node->left->right = new TreeNode(9);
	//root.right = new TreeNode(1);
	//root.right->right = new TreeNode(1115);
	Codec s;
	TreeNode* tmp = s.deserialize(s.serialize(&root));
	deque<TreeNode*> myqueue,tmpq;
	myqueue.push_back(tmp);
	while (!myqueue.empty())
	{
		while(!myqueue.empty())
		{
			TreeNode* t = myqueue.front();
			cout<<t->val<<" ";
			myqueue.pop_front();
			if (t->left != NULL)
			{
				tmpq.push_back(t->left);
			}
			if (t->right != NULL)
			{
				tmpq.push_back(t->right);
			}
		}
		cout<<endl;
		swap(myqueue, tmpq);
	}
	return 0;
}