二叉树中是否存在指定的路径和
思路
记录深度遍历每一步的节点值得累加和,遇到叶子节点时停止并做对比
或者
使用广度优先遍历,维护一个当前层节点的累加和数组
实现一
(注释处是出错处)实现二
搜索二叉树的最近公共祖先
思路
由于是搜索二叉树,故如果点p<当前点,则说明点p在左子树上,反之在右子树上
同理
如果p和q均比当前点小,则说明p和q必在左子树
如果p和q均比当前点大,则说明p和q必在右子树
实现一
实现二
两点的公共祖先可以有多个,如果把其路径记录下来,则在数组中的最大值一定是其最近祖先
网友评论