按先序遍历序列建立两个二叉树的二叉链表 A 和链表 B ,设计算法判断 A 、 B 二叉树是否相似。
注:其中“#”表示的是空格,空格字符代表空树。
测试用例1
ab#c##d##↵
xc#v##b##↵
期待输出1
A与B相似↵
#include <iostream>
#include <list>
#include <string>
using namespace std;
string treeA;
string treeB;
int lenA;
int lenB;
int curIndex = 0;
int layer;
struct tree
{
public:
char data;
tree *left;
tree *right;
};
void CreateTreeA(int curLayer, tree *node);
void CreateTreeB(int curLayer, tree *node);
bool Equal(tree* nodeA, tree* nodeB);
int main()
{
cin >> treeA;
cin >> treeB;
lenA = treeA.size();
lenB = treeB.size();
int power = 0;
while (((2 << power) - 1) < lenA)
{
power