[Tree, DFS] Path Sum III

2021. 4. 6. 12:26프로그래밍-코딩테스트/LeetCode

트리에서 특정 sum을 만들어 낼 수 있는 연속된 부분집합을 찾아라

 

약간 헷갈렸는데, dfs와 재귀를 별개로 사용하면 된다.

하나의 노드에서 dfs를 실행하는데, 그게 모든 node가 root가 되어 실행되어야 한다.

그렇기 때문에 dfs는 원래대로 해준다.

이때 오해하지 말아야 할 점이, 같은 root에서 시작한다고 하더라도 조건을 만족하는 답은 여러개 있을수 있으므로, left와 right를 leaf까지 dfs돌려줘야 한다. 

최종적으로는 특정 root를 기준으로 나온 count들을 전부 합하면 된다.