二叉树--路径和、最近公共祖先

二叉树中是否存在指定的路径和

    题号

    思路

        记录深度遍历每一步的节点值得累加和,遇到叶子节点时停止并做对比

        或者

        使用广度优先遍历,维护一个当前层节点的累加和数组

    实现一

(注释处是出错处)

    实现二

搜索二叉树的最近公共祖先

    题号

    思路

        由于是搜索二叉树,故如果点p<当前点,则说明点p在左子树上,反之在右子树上

        同理

        如果p和q均比当前点小,则说明p和q必在左子树

        如果p和q均比当前点大,则说明p和q必在右子树

    实现一

          实现二

                两点的公共祖先可以有多个,如果把其路径记录下来,则在数组中的最大值一定是其最近祖先

你可能感兴趣的:(二叉树--路径和、最近公共祖先)