先序遍历深度优先搜索树,分别找到根节点到o1和o2的路径,对比路径中第一个不相同的点,即为最近的公共祖先 static int opath[100000],opath1[100000],opath2[100000],top=0; int findpath(struct TreeNode* pRoot,int o1,int o2){ if(pRoot==NULL) return 0; opath[top++]=pRoot->val; if(pRoot->val==o1){ for(int i=0;i<top;i++) opath1[i]=opath[i]; } if(pRoot...