100-75

75.二叉树两个结点的最低共同父结点(树)
题目:二叉树的结点定义如下:
struct TreeNode
{

    int m_nvalue;
    TreeNode* m_pLeft;
    TreeNode* m_pRight;
};

输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。
分析:求数中两个结点的最低共同结点是面试中经常出现的一个问题。这个问题至少有两个变种。

 思路:

看到这道题目的时候,我就想到这道题目比较麻烦。因为,我们可能会对树进行至少两次的遍历。

首先要确定一个节点是否存在在一颗树中,然后,才是遍历一棵树,然后再判断以每个节点为根的子树中是否包含给定的两个节点。

还是看何海涛大神的分析吧:http://zhedahht.blog.163.com/blog/static/25411174201081263815813/


你可能感兴趣的:(100-75)