题目分析:
如果该题的二叉树是三叉链的形式很好解决,只需要沿着parent往上找即可,保存下路径,最后找公共结点。
如果这题的二叉树是二叉搜索树,很容易通过二叉搜索树的性质找到该节点,顺便保存路径,找到公共结点。
如果是普通二叉树,如果查找的两个结点一个在当前节点的左树一个在右树,说明该节点是公共节点;如果是都在当前节点的左边,则递归到该节点的左子树中查找;如果都是在当前节点的右边,则低轨道该结点的右子树中去查找。
解法一:左右查找法(时间复杂度O(N2))
解法二:用栈保存路径(时间复杂度O(N))