1.两棵二叉树T1和T2,T1的节点数是百万量级,T2的节点数一千以内,请给出判断T2是否T1子树的可行算法。
分析:首先想到的是递归,但是T1的数量级太大,递归会导致栈溢出,于是以非递归实现。
bool IsSubtree(BinaryTreeNode* pRoot1, BinaryTreeNode* pRoot2) {
if (pRoot1 == NULL || pRoot2 == NULL) {
return false;
}
stack<BinaryTreeNode*> stk;
stk.push(pRoot1);
while (!stk.empt