[JS]二叉树中是否存在节点和为指定值的路径
二叉树中是否存在节点和为指定值的路径
http://www.nowcoder.com/questionTerminal/508378c0823c423baa723ce448cbfd0c
DFS算法遍历
要考虑的边界情况主要是当前节点是否为叶子节点,必须要确保左右自节点均为null。
否则会出现{1,2}1结果为true的情况。
function hasPathSum( root , sum ) {
// write code here
if(!root) return false
return search(root,sum)
}
function search(root,sum){
if(!root.left&&!root.right){
return sum==root.val
}
if(root.left&&search(root.left,sum-root.val)){
return true
}
if(root.right&&search(root.right,sum-root.val)){
return true
}
return false
}
查看7道真题和解析