这是一道企业面试中,经常会被问到的面试题目。
在网上看到一些此题的实现,其中有两种方法是比较适合编程的。本项目的源代码,请点击这里下载。
方法一:
此方法是根据二叉树的DFS查找并标记祖先,根据递归出栈的原理,找到公共祖先。
其主要代码如下:
#include <iostream>
#include <list>
#include "LinerLCA.h"
//DFS左右子树,查找pNode是否存在
/*@param pRoot 根节点
/*@param pNode 需要查
这是一道企业面试中,经常会被问到的面试题目。
在网上看到一些此题的实现,其中有两种方法是比较适合编程的。本项目的源代码,请点击这里下载。
此方法是根据二叉树的DFS查找并标记祖先,根据递归出栈的原理,找到公共祖先。
其主要代码如下:
#include <iostream>
#include <list>
#include "LinerLCA.h"
//DFS左右子树,查找pNode是否存在
/*@param pRoot 根节点
/*@param pNode 需要查