두 갈래 나무와 목표를 정하고 이 나무에 뿌리 결점에서 잎 결점까지의 경로가 있는지 판단한다
2596 단어 레코드 문제 풀기
1. 두 갈래 나무의 횡단보도 프레임워크를 이해하면 두 갈래 나무의 횡단보도 프레임워크에 대해 말하자면 많은 사람들의 머릿속에서 바로 튀어나온 것이 바로 앞, 중간, 뒤의 횡단보도이다.그러나 기계적으로 앞뒤 순서가 두루 돌아다니는 것을 기억하는 것은 큰 의미가 없다. 우리가 먼저 파악해야 할 것은 두 갈래 나무의 귀속 사상이다
귀속은 두 가지 요점이 있다. 즉, 자신의 중지 조건을 반복적으로 호출하는 것이다.
두 갈래 나무 구조상 귀속을 진행하면 이 두 가지 요점은 다음과 같다. 귀속은 자신의 두 개의 하위 나무가 잎 결점에서 귀속을 중지하는 것이다.
하위 트리를 호출하는 부분이 중점입니다.우리는 서브 트리에서 풀고자 하는 것이 원래 문제와 같은 서브 문제임을 보증해야만 자신에게 귀속될 수 있다.중지 조건은 마지막에 세부적으로 고려할 수 있다.
boolean hasPathSum(TreeNode root, int sum){
if(root==null){
return false;
}
if(root.left==null&&root.right==null){
return root.value==sum;
}
int target=sum-root.value;
return hasPathSum(root.left, target)||hasPathSum(root.right, target);
}