113. 경로 총 II
3019 단어 나무.두 갈래 나무Leet Code 문제 푸는 길.
설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다.
예:
, sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ / \
7 2 5 1
:
[
[5,4,11,2],
[5,8,4,5]
]
제목은 경로의 합이 주어진 값과 같은 모든 경로를 요구한다. 각각 왼쪽 트리, 오른쪽 트리로 모든 경로를 반복하고 매번 귀속할 때마다 해당하는 노드 값을 뺀다. 만약에 잎 결점에 남은 값이 잎 결점 값과 같다면 이 경로가 요구에 부합되고 이 경로를 기록하면 부합되지 않는 중간 결과는 팝업된다
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
vector<vector<int>> pathSum(TreeNode* root, int sum) {
vector<vector<int>> res;
vector<int> cur;
pathSum(root,sum,cur,res);
return res;
}
private:
void pathSum(TreeNode *root,int gap,vector<int> &cur,vector<vector<int>> &res){
if(root==NULL){
return;
}
cur.push_back(root->val);
if(root->left==NULL&&root->right==NULL){
if(gap==root->val){
res.push_back(cur);
}
}
pathSum(root->left,gap-root->val,cur,res);
pathSum(root->right,gap-root->val,cur,res);
cur.pop_back();
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
예제 1.15 UVALive-3902 트리의 검색컨베이어 도어 제목 대의: n대의 기계는 하나의 트리 네트워크로 연결되어 잎 노드는 클라이언트이고 다른 노드는 서버이다. 처음에는 한 대의 서버만 하나의 서비스를 제공했지만 k의 거리 내의 클라이언트만 덮어쓸 수 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.