好同构二叉树437same.cpp

来自「设计一个算法」· C++ 代码 · 共 49 行

CPP
49
字号
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
	ifstream in("input.txt");
	if(in.fail())
	{
		cout<<"the input.txt is not exist!";
		exit(1);
	}
	ofstream out("output.txt");
	int m,n;
	in>>m;
	int *BinaryTree1=new int[3*m];
	for(int i=0; i<3*m; i++)
		in>>BinaryTree1[i];
	in>>n;
	int *BinaryTree2=new int[3*n];
	for(i=0;i<3*n;i++)
		in>>BinaryTree2[i];
	
	for(i=0;i<3*m;i++)
	{
		if(m!=n)//判断输入的结点数是否一样
		{
			out<<"No"<<endl;
			break;
		}
		if(BinaryTree1[i]==0)//判断两棵树相同位置元                                     //素是否一样
		{
			if(BinaryTree2[i]==0)//都为零一样继                                              // 续
				continue;
			else                //否则退出,结束                                            // 循环
			{
				out<<"No"<<endl;
				break;
			}
		}
		else                   //第一棵树元素不为零
                                       //继续查找
			continue;
	}
	if(i==3*m)
		out<<"Yes"<<endl;
	return 0;
}
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?