遍历二叉树的各种操作(非递归遍历)(三)

2015-02-02 14:15:40 · 作者: · 浏览: 42
path1.end() && iter2 != path2.end() )
?{
? if(*iter1 == *iter2)
? ?pLast = *iter1;
? else
? ?break;
? iter1++;
? iter2++;
?}
?return pLast;
}
TreeNode *GetLastCommonParent(TreeNode *pRoot , TreeNode *pNode1 , TreeNode *pNode2)
{
?if(pRoot == NULL || pNode1 == NULL || pNode2 == NULL)
? return? NULL;
?vector path1;
?GetNodePath(pRoot , pNode1 , path1);


?vector path2;
?GetNodePath(pRoot , pNode2 , path2);
?return GetLastCommonNode(path1 , path2);
}


?


?