int main()
{
	Solution sln;
	TreeNode *root, *cur;
	//vector<int> result;
	root = cur = new TreeNode(1);
	cur->left = new TreeNode(2);
	cur->right = new TreeNode(7);
	cur = cur->left;
	cur->left = new TreeNode(3);
	cur->right = new TreeNode(6);
	cur = cur->left;
	cur->left = new TreeNode(4);
	cur->right = new TreeNode(5);
	sln.flatten(root);
	for (cur = root; cur; cur = cur->right)
	{
		cout << cur->val << endl;
	}
	cout << "=====================" << endl;
	root = cur = new TreeNode(1);
	cur->right = new TreeNode(2);
	sln.flatten(root);
	for (cur = root; cur; cur = cur->right)
	{
		cout << cur->val << endl;
	}
	return 0;
}
Example #2
0
int main()
{
    #ifdef DEBUG
    freopen("a", "r", stdin);
    #endif
    int T;
    Solution *s = new Solution();
    TreeNode *r1 = new TreeNode(1);
    TreeNode *r2 = new TreeNode(2);
    TreeNode *r3 = new TreeNode(3);
    TreeNode *r4 = new TreeNode(4);
    TreeNode *r5 = new TreeNode(5);
    TreeNode *r6 = new TreeNode(6);

    TreeNode *head = r1;
    r1->left = r2;
    //r1->right = r5;
    r2->left = r3;
    //r2->right = r4;
    //r5->right = r6;

    s->flatten(r1);

    //sleep(100);
    //r1 = head;
    while (r1 != NULL) {
        debug(r1->val);
        r1 = r1->right;
    }
    return 0;
}
Example #3
0
void main() {

	TreeNode a(5);
	TreeNode b1(4);
	TreeNode b2(8);
	TreeNode c1(11);
	TreeNode c2(13);
	TreeNode c3(4);
	TreeNode d1(7);
	TreeNode d2(2);
	TreeNode d3(5);
	TreeNode d4(1);

	a.left = &b1;
	a.right = &b2;
	b1.left = &c1;
	b2.left = &c2;
	b2.right = &c3;
	c1.left = &d1;
	c1.right = &d2;
	c3.left = &d3;
	c3.right = &d4;

	Solution s;
	s.flatten(&d4);

	system("pause");
}
int main(int argc, char** argv)
{
	cout<<"flatten tree"<<"\n";

	TreeNode* root;
	root = new TreeNode(1);
	TreeNode *n2, *n3, *n4, *n5, *n6;
	n2 = new TreeNode(2);

	/*
	n3 = new TreeNode(3);
	n4 = new TreeNode(4);
	n5 = new TreeNode(5);
	n6 = new TreeNode(6);

	root->left = n2;
	root->right = n5;
	n2->left = n3;
	n2->right = n4;
	n5->right = n6;
	*/

	root->right = n2;

	Solution sln;

	sln.flatten(root);	

	
	return 0;
	
}
int main(int argc, char* argv[])
{
    TreeNode* root = create_binary_tree();
    Solution sln;
    sln.flatten(root);
    return 0;
}
int main()
{
	TreeNode *root = NULL;
	root = new TreeNode(1);
	/*root->left = new TreeNode(2);
	root->right = new TreeNode(7);
	root->left->left = new TreeNode(3);
	root->left->right = new TreeNode(4);
	root->left->right->left = new TreeNode(5);
	root->left->right->right = new TreeNode(6);
	root->right->left = new TreeNode(8);
	root->right->right = new TreeNode(9);
	root->right->right = new TreeNode(10);*/

	root->left = new TreeNode(2);
	root->left->left = new TreeNode(3);
	root->left->right = new TreeNode(4);
	root->left->left->left = new TreeNode(5);

	Solution solution;
	solution.flatten(root);


	system("pause");
	return 0;
}
int main(int argc, char *argv[]){
	Solution s;
	auto t = BuildTree(vector<int>{1, 2, 3, 4});
	s.flatten(t);
	PrintTree(t);
	system("pause");
	return 0;
}
int main() {
    TreeNode* root = new TreeNode(1);
    root->left = new TreeNode(2);
    Solution p;
    p.flatten(root);
    see(root->val);
    see(root->right->val);
}
Example #9
0
int main(int argc, const char * argv[]) {
    // insert code here...
    Solution so;
    TreeNode* root;
    root = new TreeNode(1);
    root->right = new TreeNode(2);
    so.flatten(root);
    return 0;
}
Example #10
0
int main()
{
    TreeNode *root = new TreeNode(1);
    root->left = new TreeNode(2); root->right = new TreeNode(3);
    root->left->left = new TreeNode(5); root->left->right = new TreeNode(4);
    root->right->left = new TreeNode(9); root->right->right = new TreeNode(7);
    Solution sol; sol.flatten(root);
    return 0;
}
int main() {
    Solution s;
    vector<int> preorder({1, 2, 3, 4, 5, 6}), inorder({3, 2, 4, 1, 5, 6});
    TreeNode *root = buildTree(preorder, inorder);
    root->print();
    s.flatten(root);
    root->print();
    return 0;
}
Example #12
0
/*
idea: first-order recursive and flatten
complexity: O(N)
*/
int main(void)
{
	TreeNode *root;
	root = new TreeNode(1);
	root->left = new TreeNode(2);
	root->right = new TreeNode(3);
	Solution engine;
	engine.flatten(root);
	return 0;
}
int main()
{
	int arr[] = { 1, 2, 3, 4, 5, 6, 7 };
	int len = sizeof(arr) / sizeof(arr[0]);
	TreeNode* root = CreateBT( arr, 0, len - 1 );
	Solution so;
	cout << "!!!!!" << endl;
	so.flatten( root );
	levelorder( root );
	return 0;
}
int main(int argc, char *argv[]) {
    Solution sol;
    {
        string tree = "1,2,5,3,4,#,6";
        auto root = deserialBTree(tree);
        printPretty(root, 1, 1, cout);
        sol.flatten(root);
        printPretty(root, 1, 1, cout);
    }
    return 0;
}
TEST(flattenBT2LL_Test, Positive01){
    Solution s;

    TreeNode *root = constructBT();
    TreeNode *expected = constructFlattenLL();
    s.flatten(root);

    EXPECT_TRUE(assertLL(expected, root));

    deleteLL(expected);
    deleteLL(root);
}
int main()
{
    TreeNode *p = new TreeNode(1);
    p->left = new TreeNode(2);
    p->right = new TreeNode(5);
    p->left->left = new TreeNode(3);
    p->left->right = new TreeNode(4);
    p->right->right = new TreeNode(6);

    Solution sol;
    sol.flatten(p);
    dfs(p);
    return 0;
}
int main() {
    Solution sol;
    TreeNode * p0;

    {
        p0 = new TreeNode(1);
        p0->left = new TreeNode(2);
        p0->right = new TreeNode(5);
        p0->left->left = new TreeNode(3);
        p0->left->right = new TreeNode(4);
        p0->right->right = new TreeNode(6);
        sol.flatten(p0);
        cout << toString(p0) << endl;
    }
}
int main()
{
	TreeNode *root = new TreeNode(1);
	root->left = new TreeNode(2);
	root->right = new TreeNode(5);
	root->left->left = new TreeNode(3);
	root->left->right = new TreeNode(4);

	Solution s;
	s.flatten(root);
	while (root) {
		cout << root->val << endl;
		root = root->right;
	}
}
void main()
{
	TreeNode Root(0);
	TreeNode temp0(7);
	TreeNode temp1(3);
	TreeNode temp2(1);
	TreeNode temp3(3);
	TreeNode temp4(-2);
	TreeNode temp5(7);
	TreeNode temp6(-1);
	TreeNode temp7(1);

	TreeNode Root2(1);
	TreeNode temp8(2);
	TreeNode temp9(2);

	//Root2.left = &temp8;
	Root2.right = &temp9;

	//Root.left = &temp0;
	//Root.right = &temp1;
	//Root.left->left = &temp2;
	//Root.left->right = &temp3;
	//Root.right->left = &temp4;
	//Root.left->left->left = &temp6;
	//Root.left->left->right = &temp6;
	//Root.right->right->right = &temp7;

	Solution mySolu;
	
	//cout << mySolu.isSameTree(&Root,&Root2) << endl;
	/*
	if (mySolu.isSameTree(&Root, &Root2))
		cout << "yse " << endl;
	else
		cout << "no " << endl;
		*/
	TreeLinkNode Root3(1);
	TreeLinkNode Root3_1(2);
	TreeLinkNode Root3_2(2);
	Root3.left = &Root3_1;
	//Root3.right = &Root3_2;


	mySolu.flatten(&Root2);
	cout << "ok" << endl;
}
void let_114(){
	TreeNode* root=(TreeNode*)new TreeNode(1);
	TreeNode* node1=(TreeNode*)new TreeNode(2);
	TreeNode* node2=(TreeNode*)new TreeNode(5);
	TreeNode* node3=(TreeNode*)new TreeNode(3);
	TreeNode* node4=(TreeNode*)new TreeNode(4);
	TreeNode* node5=(TreeNode*)new TreeNode(6);
	root->left=node1;
	root->right=node2;
	node1->left=node3;
	node1->right=node4;
	node2->right=node5;
	Solution sol;
	sol.flatten(root);
	while(root) {cout<<root->val<<"->";root=root->right;}
	cout<<endl;
}
Example #21
0
int main(void) {
    TreeNode *first = new TreeNode(1);
    TreeNode *second = new TreeNode(2);
    TreeNode *three = new TreeNode(3);
    TreeNode *four = new TreeNode(4);
    TreeNode *five = new TreeNode(5);
    TreeNode *six = new TreeNode(6);
    first->left = second;
    first->right = five;
    second->left = three;
    second->right = four;
    five->right = six;
    Solution* test = new Solution();
    test->flatten(first);

    return 0;
}
int main(void) {
	Solution solution;
	TreeNode *root = new TreeNode(1);
	root->left = new TreeNode(2);
	root->right = new TreeNode(5);
	root->left->left = new TreeNode(3);
	root->left->right = new TreeNode(4);
	root->right->right = new TreeNode(6);
	solution.flatten(root);
	TreeNode *current = root;
	while (current) {
		cout << current->val << '\t';
		current = current->right;
	}
	cout << "\nPassed\n";
	cout << "\nPassed All\n";
	return 0;
}
Example #23
0
int main(void)
{
    TreeNode *root = new TreeNode(1);
    root->left = new TreeNode(2);
    root->left->left = new TreeNode(3);
    root->left->right = new TreeNode(4);
    root->right = new TreeNode(5);
    root->right->right = new TreeNode(6);
	Solution s;
	s.flatten(root);
    while(root != NULL)
    {
        cout << root->val << endl;
        root = root->right;
    }

	return 0;
}
int main(){
	Solution sol ; 
	TreeNode * a = new TreeNode(1);
	TreeNode * b = new TreeNode(2);
	TreeNode * c = new TreeNode(3);
	TreeNode * d = new TreeNode(4);
	TreeNode * e = new TreeNode(5);

	a->left = b ; 
	b->left = c ; 
	b->right = d ; 
	c->left = e ; 

	sol.flatten(a);
	for(TreeNode *p = a ; p!=NULL; p = p->right){
		cout << "#### :" << p->val << endl ;
	}
	return 0 ;
}
int main(void)
{
    TreeNode* tmp = NULL;
    TreeNode* root = new TreeNode(1);
    tmp = root;

    tmp->left = new TreeNode(2);
    tmp = tmp->left;

    tmp->left= new TreeNode(3);
    tmp->right = new TreeNode(4);
    tmp = tmp->left;

    tmp->left = new TreeNode(5);
    //output(root);
    Solution sol;
    sol.flatten(root);
    output(root);
    return 0;
}
int main(void){
	Solution answer;
	TreeNode *root = new TreeNode(1);
	TreeNode *node = new TreeNode(2);
	root->left = node;
	TreeNode *node1 = new TreeNode(3);
	root->right = node1;
	TreeNode *node2 = new TreeNode(4);
	node->left = node2;
	TreeNode *node3 = new TreeNode(5);
	node2->right = node3;
	answer.flatten(root);
	while (root != NULL){
		cout << root->val;
		if (root->left == NULL)
			cout << endl;
		root = root->right;
	}
	system("Pause");
	return 0;
}
int main(){
    
    TreeNode t1(1);
    TreeNode t2(2);
    TreeNode t3(3);
    TreeNode t4(4);
    TreeNode t5(5);
    TreeNode t6(6);

    t1.left = &t2;
    t1.right = &t5;
    //t2.left = &t3;
    //t2.right = &t4;
    //t5.left = &t6;

    Solution s;
    s.flatten(&t1);

    TreeNode * root = &t1;
    while(root != NULL){
        cout << root->val << endl;
        root = root->right;
    }
}