Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- WSGI
- ansible
- YAML
- dockerfile
- leetcode
- docker
- Kubernetes
- asyncio
- github
- EKS
- IAC
- FastAPI
- AWS
- 쿠버네티스
- Django
- EC2
- terraform
- event loop
- Python
- elasticsearch
- K8S
- Deployment
- intervals
- ebs
- DevOps
- POD
- asgi
- Service
- 자바스크립트
- IAM
Archives
- Today
- Total
궁금한게 많은 개발자 노트
[ leetcode ] 112. Path Sum 본문
Binary Tree가 주어졌을 때, root에서 leaf node까지의 path에 해당하는 값들의 합이 targetSum과 일치하는 경로가 존재하는지 여부를 판단하는 문제입니다.
재귀를 활용하여 left, right 자식들로 들어가면서 leaf node가 되었을 시 targetSum이 0인지 확인하는 방식으로 해결하였습니다.
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
bool hasPathSum(TreeNode* root, int targetSum) {
if (!root) return false;
if (!root->left && !root->right && !(targetSum-root->val)) return true;
bool left = hasPathSum(root->left, targetSum-root->val);
bool right = hasPathSum(root->right, targetSum-root->val);
return left || right;
}
};
'Algorithm' 카테고리의 다른 글
[ leetcode ] 24. Swap Nodes in Pairs (0) | 2023.07.07 |
---|---|
[ leetcode ] 859. Buddy Strings (0) | 2023.07.07 |
[ leetcode ] 78. Subsets (0) | 2023.05.02 |
[ leetcode ] 57. Insert Interval (0) | 2023.05.02 |
[ leetcode ] 450. Delete Node in a BST (0) | 2023.05.02 |
Comments