검지 offer(24) - 두 갈래 트리 중 하나를 위한 경로
2000 단어 검지offer 브러시
두 갈래 트리 중 하나가 되는 경로
제목 설명
두 갈래 트리와 정수를 입력하고 두 갈래 트리의 결점 값과 정수를 입력하기 위한 모든 경로를 출력합니다.경로는 나무의 뿌리 결점에서 시작하여 잎 결점까지 내려가는 결점으로 경로를 형성합니다.
생각
먼저 반복해서 어떤 결점에 접근할 때 경로에 추가합니다. 현재와 마침 기대치와 같고 이 결점이 잎 노드라면 요구에 부합되고, 현재 결점이 잎 노드가 아니라면 하위 결점에 계속 접근합니다.현재 결점 액세스가 완료되면 부모 결점으로 돌아갑니다.모든 경로를 전역 변수로 표시하고 일치하는 경로를 하나의 전역 변수로 저장합니다
코드
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
vector<vector<int> > Pathes = {};
vector<int> path = {};
vector<vector<int> > FindPath(TreeNode* root,int expectNumber) {
if(root == NULL)
return Pathes;
path.push_back(root->val);
expectNumber -= root->val;
if(root->left == NULL && root->right == NULL && expectNumber == 0)
Pathes.push_back(path);
FindPath(root->left, expectNumber);
FindPath(root->right, expectNumber);
path.pop_back();
return Pathes;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
검지offer 면접문제두 갈래 트리 중 하나가 되는 경로검지offer 면접문제두 갈래 트리 중 하나가 되는 경로 제목 사고방식 코드 두 갈래 트리와 정수를 입력하고 두 갈래 트리의 노드 값과 정수를 입력하기 위한 모든 경로를 출력합니다.나무의 뿌리 노드에서 시작하여 잎 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.