2022년 10월 04일 화요일 - 번아웃? 아닌가?
오늘 올려볼 문제는 112번 Path Sum 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
뭔가 요즘 열심히는 사는데 뭘 위한건지 잘 모르겠다
입력
사진에서도 볼 수 있듯이 Binaray Tree의 Root Node가 입력으로 들어온다.
풀이 및 코드
Leaf 노드까지 합을 구했을 때 targetSum을 만들 수 있는 path가 있는지 판단하는 문제댜.
오늘은 처음부터 정답을 생각해냈다.
bfs를 사용해서 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public boolean hasPathSum(TreeNode root, int targetSum) {
if(root == null) return false;
Queue<TreeNode> q = new LinkedList<>();
q.add(root);
while(!q.isEmpty()) {
int size = q.size();
for(int i = 0; i < size; i++) {
TreeNode now = q.poll();
if(isLeaf(now) && now.val == targetSum) return true;
if(now.left != null) {
now.left.val += now.val;
q.add(now.left);
}
if(now.right != null) {
now.right.val += now.val;
q.add(now.right);
}
}
}
return false;
}
private boolean isLeaf(TreeNode node) {
return node.left == null && node.right == null;
}
}
제출 화면
음.. 뭐랄까 진로가 정해진게 얼마 안됐으니 잘 모르는게 많은게 당연하지만.. 그 사이 간격을 빠르게 좁히고 싶은 마음이 큰 시기인거 같다.
그런 의미에서 오늘은 천천히 쉬어가는 날인걸로.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 2095번 문제를 풀어보았다. (ft. java) (0) | 2022.10.14 |
---|---|
[LeetCode] 976번 문제를 풀어보았다. (ft. java) (0) | 2022.10.12 |
[LeetCode] 658번 문제를 풀어보았다. (ft. java) (0) | 2022.09.29 |
[LeetCode] 557번 문제를 풀어보았다. (ft. java) (0) | 2022.09.22 |
[LeetCode] 94번 문제를 풀어보았다. (ft. java) (0) | 2022.09.08 |